:root{--accent:#81364b;--dark:#61283b;--ink:#352b30;--muted:#70646a;--line:#e8dcda;--pale:#faf5ef}.reveal{opacity:0;transform:translateY(34px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.reveal.is-in{opacity:1;transform:none}
.reveal-pop{opacity:0;transform:translateY(46px) scale(.82);transition:opacity .7s cubic-bezier(.34,1.56,.64,1),transform .7s cubic-bezier(.34,1.56,.64,1)}.reveal-pop.is-in{opacity:1;transform:none}
.reveal-tilt{opacity:0;transform:translateY(46px) rotate(-4deg) scale(.88);transition:opacity .75s cubic-bezier(.34,1.56,.64,1),transform .75s cubic-bezier(.34,1.56,.64,1)}.reveal-tilt:nth-child(even){transform:translateY(46px) rotate(4deg) scale(.88)}.reveal-tilt.is-in{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-56px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.reveal-left.is-in{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(56px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.reveal-right.is-in{opacity:1;transform:none}
.reveal-title{opacity:0;filter:blur(8px);transform:translateY(28px) scale(.95);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1)}.reveal-title.is-in{opacity:1;filter:blur(0);transform:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fffdfa;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b88f51;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,.brand,.big-word{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(42px,4.3vw,66px);line-height:1.11;letter-spacing:-2px;color:var(--dark);margin-bottom:25px}h1 em,h2 em,.big-word em{font-weight:400}h2{font-size:clamp(32px,3.3vw,48px);line-height:1.17;letter-spacing:-1px;color:var(--dark);margin-bottom:20px}h3{font-size:19px;line-height:1.35;font-weight:500}p{color:var(--muted)}.wrap{max-width:1200px;margin:auto;padding-left:32px;padding-right:32px}header{height:90px;padding:0 4.5%;display:flex;align-items:center;gap:40px;background:#faf6f0;border-bottom:1px solid #eee3da}header .brand{margin-right:auto}.brand{font-size:38px;letter-spacing:-2px;line-height:1}.brand span{display:block;font:9px Arial;letter-spacing:3.4px;text-align:center;margin-top:9px}.brand:after{content:'.';color:var(--accent);position:absolute;margin-top:-47px;margin-left:106px}nav{display:flex;gap:29px;font-family:Georgia,serif;font-size:16px}nav a:hover,footer a:hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 27px;border:1px solid var(--accent);border-radius:40px;background:var(--accent);color:white;font-size:15px;font-weight:500;line-height:1.5;transition:background .2s,transform .18s cubic-bezier(.2,.7,.3,1)}.button:active{transform:scale(.96)}.button.small{padding:11px 19px;font-size:14px}.button.outline{background:transparent;color:var(--dark)}.button.white{background:white;color:var(--dark);border-color:white}
@media(hover:hover) and (pointer:fine){
.button:hover{background:var(--dark);transform:translateY(-2px)}
.button.outline:hover{background:#f4e7e7;transform:translateY(-2px)}
}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;min-height:640px;padding-top:55px;padding-bottom:60px;gap:15px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:500;color:var(--dark);margin-bottom:18px}.intro{font-size:17px;line-height:1.75;margin-bottom:30px}.hero-cta-group{display:inline-grid;justify-items:center}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.micro{font-size:12px;margin-top:17px}.hero-note{display:flex;align-items:center;gap:12px;margin-top:28px}.hero-note p{font-size:12px;margin:0;line-height:1.6}.hero-note strong{font-weight:500;color:var(--ink)}.note-mark{font:36px Georgia;color:var(--accent)}.hero-art img{width:100%;height:auto;display:block;object-fit:contain}.ribbon{background:#f1e7df;color:#70545b;display:flex;justify-content:center;gap:43px;padding:16px 25px;font-size:10px;letter-spacing:1.8px;white-space:nowrap;overflow:hidden}.section{padding-top:95px;padding-bottom:95px}.section-title{text-align:center;max-width:730px;margin:0 auto 55px}.section-title p:last-child:not(.eyebrow){font-size:16px}.difference{display:grid;grid-template-columns:1fr 1.12fr;gap:90px;align-items:center}.feature-preview{background:#f3e7dc;padding:42px 45px 50px;position:relative;border-radius:160px 160px 12px 12px}.invitation{padding:40px 25px;background:#fcf9f0;text-align:center;color:#756640;border:1px solid #cfc6b1;font-family:Georgia,serif;box-shadow:0 18px 36px #61283b20;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px}.tiny{font:9px Arial;letter-spacing:2px}.invite-monogram{font-size:60px;line-height:1.4;margin:25px 0 10px}.invite-monogram i{font-size:25px;font-weight:400}.hairline{width:60px;height:1px;background:currentColor;opacity:.4;margin-bottom:20px}.invitation h3{font:27px Georgia;margin-bottom:18px}.invitation h3 i{font-size:18px}.invitation p{font:12px/1.8 Georgia;color:inherit}.invite-date{font-size:16px;letter-spacing:3px;margin:15px 0 22px}.invite-open{border:1px solid currentColor;color:inherit;background:none;padding:10px 20px;margin-top:28px;font:12px Georgia}.floating-note{position:absolute;bottom:25px;right:-25px;padding:13px 20px;background:white;border:1px solid #e8dcda;box-shadow:0 8px 25px #61283b10;font:italic 16px Georgia}.benefits article{display:flex;gap:23px;border-bottom:1px solid var(--line);padding:23px 0}.benefits article:last-child{border:0}.benefits article>span{color:#986b73;font:17px Georgia}.benefits h3{margin-bottom:8px}.benefits p{font-size:14px;margin-bottom:0;line-height:1.75}.catalog{background:#fcf8f3}.filters{display:flex;justify-content:center;gap:10px;margin:-15px 0 35px;flex-wrap:wrap}.filters button{border:1px solid #e3d2d1;background:transparent;padding:8px 18px;border-radius:30px;font-size:13px;color:#754e5a;cursor:pointer;transition:transform .16s cubic-bezier(.2,.7,.3,1),background-color .2s,border-color .2s}.filters button:active{transform:scale(.95)}.filters button.active{background:var(--dark);border-color:var(--dark);color:white}
@media(hover:hover) and (pointer:fine){.filters button:not(.active):hover{background:#f4e7e7;border-color:#e3d2d1}}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.design-card{background:white;border:1px solid #e8ddda;border-radius:8px;overflow:hidden}.design-art{border:0;display:block;width:100%;padding:32px 46px;background:#e9e8e0;position:relative;color:inherit}.mini-invite{min-height:300px;padding:27px 15px;box-shadow:0 9px 20px #61283b23;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
@media(hover:hover) and (pointer:fine){.design-art:hover .mini-invite{transform:translateY(-5px)}}.mini-invite .invite-monogram{font-size:47px;margin:15px 0}.mini-invite h3{font-size:24px}.mini-invite .tiny{font-size:8px}.mini-invite p{font-size:11px}.mini-invite .invite-date{font-size:12px;letter-spacing:2px}.design-copy{padding:20px}.design-copy h3{font-family:Georgia;font-size:24px;color:var(--dark);margin-bottom:5px}.design-copy p{font-size:12px;margin-bottom:19px}.card-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-actions button{font-size:12px}.text-button{padding:0;background:none;border:0;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.tag{position:absolute;top:12px;left:12px;background:#ffffffed;padding:4px 10px;border-radius:20px;font-size:9px;letter-spacing:.7px}.theme-blue{background:#dce8ee}.theme-blue .invitation{background:#f5f8fa;color:#315677;border-color:#91a8b8}.theme-black{background:#d6d9d8}.theme-black .invitation{background:#f9f9f5;color:#252c2d;border:0}.theme-black .invite-monogram{font-family:Arial;font-size:46px;letter-spacing:-5px}.theme-rose{background:#edddd9}.theme-rose .invitation{background:#fcf3ee;color:#945b50;border-color:#caa597}.theme-green{background:#dae2d8}.theme-green .invitation{background:#f5f5ec;color:#506650;border-color:#8c9a7a}.theme-wine{background:#e6d9d7}.theme-wine .invitation{background:#631f32;color:#f1e1bf;border-color:#b98e6e}.catalog-foot{text-align:center;margin-top:35px;margin-bottom:0;font-size:14px}.included-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:65px}.included-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 35px}.line-icon{font-size:26px;color:var(--accent);display:block;margin-bottom:12px;height:35px}.included-grid h3{font-size:16px;margin-bottom:8px}.included-grid p{font-size:14px}.teal-panel{border-radius:8px;background:var(--dark);padding:40px;color:white}.teal-panel p,.teal-panel .eyebrow{color:#f5e5de}.teal-panel .eyebrow{font-size:9px}.big-word{font-size:43px;line-height:1.22;margin-bottom:25px}.teal-panel>p:not(.eyebrow){font-size:14px}.teal-panel small{display:block;font-size:11px;color:#e8cdc3;margin-top:15px}.process{background:#f7eee6}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-bottom:35px}.steps article{text-align:center}.steps span{display:inline-flex;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;color:var(--accent);border:1px solid #b99487;font:22px Georgia;margin-bottom:25px}.steps h3{font:24px Georgia;color:var(--dark);margin-bottom:13px}.steps p{font-size:14px;line-height:1.8}.center{text-align:center}.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.faq-section>div>p:last-child{font-size:14px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:15px;padding:20px 28px 20px 0;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:2px;color:var(--accent);font-size:22px;top:14px}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;padding-right:30px;line-height:1.8}.final-cta{text-align:center;background:#f3e5db;padding:85px 24px}.final-cta h2{font-size:42px}.final-cta p:not(.eyebrow){font-size:15px}.final-cta>a{display:block;font-size:12px;margin-top:16px;text-decoration:underline;text-underline-offset:4px}footer{display:flex;flex-wrap:wrap;align-items:center;row-gap:16px;gap:60px;padding-top:40px!important;padding-bottom:40px!important}footer p{font-size:12px;margin:0}footer>div{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;margin-left:auto}footer small{font-size:10px;color:#79676c}
.payment-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;flex-basis:100%;font-size:11px;color:var(--muted)}
.payment-footer i{font-style:normal;border:1px solid var(--line);border-radius:20px;padding:4px 12px;background:#fff;color:var(--ink)}dialog{border:0;border-radius:14px;padding:30px;max-height:92dvh;max-width:740px;width:calc(100% - 30px);color:var(--ink);box-shadow:0 25px 90px #38202a40}dialog::backdrop{background:#38202ac4;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;justify-content:space-between;gap:20px}.dialog-top h2{font-size:30px;margin-bottom:20px}.dialog-top .eyebrow{font-size:9px}.close{border:0;background:#f5eae6;color:var(--dark);border-radius:50%;width:36px;height:36px;font-size:26px;line-height:1;flex:none}.preview-stage{padding:30px;background:#e9e8e0;border-radius:5px}.preview-stage .invitation{max-width:380px;margin:auto;min-height:470px}.preview-bottom{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.preview-bottom p{font-size:11px;max-width:220px;margin:0}.preview-extra{text-align:center;background:#fff;padding:25px;max-width:380px;margin:auto;border:1px solid #e4e5df}.preview-extra h3{font:23px Georgia;color:var(--dark)}.preview-extra p{font-size:13px;margin-bottom:5px}#contact-dialog{max-width:580px;padding:40px;position:relative}#contact-dialog h2{font-size:33px;padding-right:20px}#contact-dialog>p:not(.eyebrow){font-size:14px}.contact-close{position:absolute;top:20px;right:20px}label{display:block;font-size:13px;margin-bottom:17px;color:var(--ink)}input,select,textarea{display:block;width:100%;padding:11px 12px;margin-top:6px;border:1px solid #decbc9;border-radius:5px;background:white;color:var(--ink);font-size:14px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.availability{background:#f7eee8;border-left:2px solid var(--accent);padding:12px;font-size:12px}#contact-status{font-size:13px;margin:12px 0 0;color:var(--accent)}[hidden]{display:none!important}@media(min-width:1500px){.wrap{max-width:1300px}.hero{min-height:690px}}@media(max-width:1000px){header{gap:20px}nav{gap:18px;font-size:14px}header .small{display:none}.hero{min-height:570px}.difference{gap:50px}.cards{gap:18px}.design-art{padding:30px 25px}.included-layout{gap:35px}.faq-section{gap:40px}footer{gap:30px}footer>div{flex-direction:column;gap:4px}.micro{font-size:11px}.hero-note{margin-top:16px}}@media(max-width:700px){header{height:76px;padding:0 22px;position:relative}.brand{font-size:33px}.brand span{font-size:8px;letter-spacing:2.8px}.brand:after{margin-left:92px;margin-top:-43px}.menu-toggle{display:block;background:transparent;border:0;color:var(--dark);font-size:23px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#faf6f0;z-index:4;padding:25px;box-shadow:0 10px 16px #1232;flex-direction:column;font-size:17px}nav.open{display:flex}.wrap{padding-left:23px;padding-right:23px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:22px;gap:0;text-align:center}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}h1{font-size:44px;letter-spacing:-1.5px}.intro{font-size:15px;margin-bottom:23px}.desktop{display:none}.hero-actions{justify-content:center;gap:9px}.hero-actions .button{font-size:13px;padding:12px 18px}.hero-note{display:none}.micro{font-size:10px;margin-bottom:0}.hero-art{margin:0 auto;max-width:420px;width:100%}.hero-art img{height:290px;object-fit:contain}.ribbon{gap:25px;justify-content:flex-start;font-size:8px;padding:13px 20px}.section{padding-top:64px;padding-bottom:64px}.section-title{margin-bottom:35px}h2{font-size:34px}.eyebrow{font-size:9px;letter-spacing:1.6px}.section-title p:last-child:not(.eyebrow){font-size:14px}.difference{grid-template-columns:1fr;gap:25px}.feature-preview{max-width:350px;margin:0 auto;width:100%;padding:35px 38px 44px}.feature-preview .invitation{min-height:385px}.floating-note{right:-9px;font-size:14px}.benefits article{padding:20px 0}.benefits h3{font-size:18px}.benefits p{font-size:14px}.cards{grid-template-columns:1fr;max-width:430px;margin:auto;gap:25px}.design-art{padding:32px 62px}.mini-invite{min-height:330px}.mini-invite h3{font-size:27px}.design-copy{padding:22px}.filters{gap:8px}.filters button{font-size:11px;padding:8px 12px}.included-layout{grid-template-columns:1fr;gap:25px}.included-grid{gap:20px}.included-grid h3{font-size:15px}.included-grid p{font-size:13px}.teal-panel{padding:32px}.steps{grid-template-columns:1fr;gap:25px}.steps article{max-width:340px;margin:auto}.steps span{margin-bottom:15px}.faq-section{grid-template-columns:1fr;gap:20px}.faq-section>div>p:last-child{display:none}.final-cta{padding:65px 23px}.final-cta h2{font-size:33px}.final-cta p:not(.eyebrow){font-size:14px}footer{flex-wrap:wrap;gap:28px;padding:35px 23px!important}footer>div{margin:0;flex-direction:row;flex-wrap:wrap;gap:20px;width:100%}footer small{width:100%}.form-row{grid-template-columns:1fr;gap:0}#contact-dialog{padding:30px 22px}#contact-dialog h2{font-size:29px}dialog{padding:22px}.preview-stage{padding:22px 15px}.preview-bottom{align-items:flex-start}.preview-bottom .button{font-size:12px;padding:11px 17px}.preview-bottom p{max-width:135px}.preview-stage .invitation{padding:35px 16px}.dialog-top h2{font-size:26px}.contact-close{top:12px;right:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Motion system: independent hero layers, seamless marquee and restrained reveals. */
.hero{grid-template-columns:1.13fr 1fr;gap:8px;overflow:visible}.hero-copy{min-width:0}.hero h1{font-size:clamp(2.4rem,3.85vw,3.5rem);letter-spacing:-1.6px;line-height:1.17}.hero-heading-line{display:block}.word-slot{display:inline-block;position:relative;min-width:10.2ch;white-space:nowrap;text-align:left}.type-caret{font-style:normal;font-weight:400;font-size:.83em;display:inline-block;vertical-align:.05em;margin-left:2px;animation:caret-blink 1s steps(1,end) infinite;color:#b18a58}.hero-copy>.eyebrow{animation:hero-enter .85s both}.hero h1{animation:hero-enter .9s .1s both}.hero .intro{animation:hero-enter .9s .22s both}.hero-actions{animation:hero-enter .9s .34s both}.hero .micro,.hero-note{animation:hero-enter .9s .46s both}.hero-art{min-width:0;width:100%;position:relative;perspective:1100px;animation:hero-enter 1.1s .16s both}.hero-scene{position:relative;isolation:isolate;aspect-ratio:4/3;width:100%;transform:rotateX(var(--scene-rx,0deg)) rotateY(var(--scene-ry,0deg));transition:transform .45s cubic-bezier(.2,.7,.3,1);overflow:visible}.hero-art .hero-stage{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.phone-position{position:absolute;z-index:1;transition:transform .5s cubic-bezier(.2,.7,.3,1);transform:translate3d(var(--phone-x,0px),var(--phone-y,0px),0)}.phone-position-gold{left:23%;top:8%;width:30%;height:64%}.phone-position-photo{left:52%;top:20%;width:29%;height:59%;--depth:1.35}.phone-float{display:block;width:100%;height:100%;padding:0;background:none;border:0;transform-origin:50% 72%;filter:drop-shadow(4px 12px 8px #45263225);will-change:transform}.hero-art .phone-float img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .35s;pointer-events:none}.phone-gold{animation:float-gold 6s ease-in-out infinite}.phone-photo{animation:float-photo 6.5s ease-in-out -1.8s infinite}.phone-float:hover img{filter:brightness(1.045)}.phone-float:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:24px}.ribbon{display:flex;position:relative;padding:0;gap:0;justify-content:initial;align-items:stretch;overflow:hidden}.ribbon-viewport{min-width:0;flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.ribbon-track{display:flex;width:max-content;animation:marquee 28s linear infinite;will-change:transform}.ribbon-group{flex:none;min-width:100vw;display:flex;align-items:center;justify-content:space-around;gap:42px;padding:16px 21px}.ribbon-star{font-size:16px;color:var(--accent);line-height:1}.motion-toggle{flex:none;width:48px;border:0;border-left:1px solid #dfcbc7;color:var(--dark);background:#f1e7df;font:17px Arial;position:relative;z-index:1}.motion-toggle:hover{background:#e9d6cd}.reveal{transition:opacity .85s cubic-bezier(.2,.65,.25,1),translate .85s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}.reveal-pending{opacity:0;translate:0 27px}.reveal.is-visible{opacity:1;translate:0 0}.feature-preview.reveal-pending{translate:-22px 20px}.teal-panel.reveal-pending{translate:20px 20px}.benefits article,.included-grid article{transition:opacity .8s,translate .8s,background .3s}.benefits article:hover{background:#fcf5ef}.line-icon{transition:transform .35s,color .35s}.included-grid article:hover .line-icon{transform:translateY(-4px) rotate(-5deg);color:var(--dark)}.design-card{transition:opacity .85s,translate .85s,box-shadow .35s,border-color .35s}.design-card:hover{box-shadow:0 14px 32px #61283b13;border-color:#c5a3a8}.design-art:hover .mini-invite{transform:translateY(-7px) rotate(-1deg)}.button{position:relative;overflow:hidden;transition:background .25s,transform .25s,box-shadow .25s}.button:after{content:'';position:absolute;inset:-80% auto -80% -70%;width:35%;background:linear-gradient(90deg,transparent,#fff3,transparent);transform:rotate(22deg);transition:left .65s;pointer-events:none}.button:hover:after{left:145%}.button:hover{box-shadow:0 7px 18px #81364b1a}.faq details[open] p{animation:detail-enter .4s ease both}dialog[open]{animation:dialog-enter .3s ease both}dialog[open]::backdrop{animation:backdrop-enter .3s ease both}.motion-paused .ribbon-track,.motion-paused .phone-float,.motion-paused .type-caret{animation-play-state:paused}.motion-paused .hero-scene,.motion-paused .phone-position{transform:none}.motion-paused .reveal{transition:none;opacity:1;translate:0 0}.motion-paused .type-caret{opacity:0}
@keyframes marquee{to{transform:translate3d(-50%,0,0)}}@keyframes float-gold{0%,100%{transform:translate3d(0,0,0) rotate(-7deg)}50%{transform:translate3d(-5px,-12px,0) rotate(-11deg)}}@keyframes float-photo{0%,100%{transform:translate3d(0,0,0) rotate(9deg)}50%{transform:translate3d(7px,-9px,0) rotate(13deg)}}@keyframes caret-blink{50%{opacity:0}}@keyframes hero-enter{from{opacity:.01;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes detail-enter{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(min-width:1500px){.hero h1{font-size:3.7rem}}@media(max-width:1000px) and (min-width:701px){.hero{grid-template-columns:1.1fr 1fr}.hero h1{font-size:2.5rem}.hero .intro{font-size:15px}}@media(max-width:700px){.hero{grid-template-columns:1fr;gap:10px}.hero h1{font-size:clamp(2rem,7.7vw,2.85rem);letter-spacing:-1px}.hero-heading-line{white-space:nowrap}.word-slot{min-width:10.2ch}.hero-art{max-width:450px;padding:8px 0 0;overflow:visible}.hero-art .hero-stage{height:auto;aspect-ratio:4/3;object-fit:contain}.hero-art .phone-float img{height:100%}.ribbon-group{gap:26px;min-width:950px;padding:14px 13px}.ribbon-track{animation-duration:24s}.ribbon{font-size:9px}.motion-toggle{width:40px}.reveal-pending{translate:0 20px}.feature-preview.reveal-pending,.teal-panel.reveal-pending{translate:0 20px}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-pending{opacity:1;translate:none;transition:none}.hero-scene,.phone-position{transform:none!important}.phone-gold{transform:rotate(-7deg)}.phone-photo{transform:rotate(9deg)}.type-caret{display:none}.ribbon-track{animation:none!important}.ribbon-viewport{overflow-x:auto;mask-image:none}.ribbon-group{min-width:max-content}.ribbon-group[aria-hidden]{display:none}.motion-toggle{display:none}.button:after{display:none}}

/* Third invitation example in the animated desktop hero. */
.hero-card-position{position:absolute;z-index:2;left:39%;top:35%;width:25%;height:48%;perspective:800px;pointer-events:none}
.hero-card-float{pointer-events:auto;width:100%;height:100%;padding:20px 10px;border:1px solid #c49a65;border-radius:3px;background:linear-gradient(145deg,#fffaf0,#f0dfc3);color:#61283b;box-shadow:0 16px 25px #45263235;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-5deg);transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .35s;animation:float-card 6.2s ease-in-out -2.4s infinite}
.hero-card-float:hover{transform:rotate(-2deg) translateY(-9px) scale(1.035);box-shadow:0 22px 32px #45263245}
.hero-card-kicker,.hero-card-float small{font:7px Arial,sans-serif;letter-spacing:1.2px}
.hero-card-monogram{font:clamp(24px,3vw,42px) Georgia,serif;margin:13px 0 5px}.hero-card-monogram i{font-size:.55em;font-weight:400}.hero-card-rule{width:34%;height:1px;background:#b18a58;margin:3px 0 12px}.hero-card-float strong{font:clamp(14px,1.7vw,25px) Georgia,serif;font-weight:400}.hero-card-float strong em{font-size:.7em}.hero-card-date{font:7px Arial,sans-serif;letter-spacing:1px;margin:14px 0 13px}.hero-card-float small{font-size:5px;letter-spacing:.8px;color:#8d6a4b}
@keyframes float-card{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-10px)}}
@media(max-width:700px){.hero-card-position{left:37%;top:40%;width:25%;height:44%}.hero-card-float{padding:10px 5px}.hero-card-kicker,.hero-card-float small{font-size:5px}.hero-card-date{font-size:5px;margin:8px 0}.hero-card-rule{margin:2px 0 7px}}
@media(prefers-reduced-motion:reduce){.hero-card-float{animation:none;transform:rotate(-5deg)}.hero-card-float:hover{transform:rotate(-2deg) translateY(-5px)}}

/* Trust, feature icons and product clarity. */
.trust-stats{background:#61283b;color:#fff;padding:28px 0}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}.trust-grid article{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;justify-content:center;align-items:center}.stat-icon{grid-row:span 2;color:#e5c98e;font:28px Georgia}.trust-grid strong{font:31px Georgia;font-weight:400;line-height:1}.trust-grid p{margin:3px 0 0;color:#f3e6df;font-size:12px;letter-spacing:.3px}.hero-proof{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:17px;color:#7a5962;font:12px/1.45 Arial,Helvetica,sans-serif;letter-spacing:.1px}.hero-proof span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.hero-proof i{color:#b18a58;font-style:normal;font-family:Georgia,serif;font-size:14px;animation:icon-float 2.8s ease-in-out infinite}.hero-proof span:nth-child(2) i{animation-delay:.25s}.hero-proof span:nth-child(3) i{animation-delay:.5s}.feature-showcase{background:#fbf3ed}.conversion-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:-18px 0 34px;border:1px solid #dfcbc7;background:#fffaf5}.conversion-strip article{padding:20px 22px;border-right:1px solid #dfcbc7}.conversion-strip article:last-child{border-right:0}.conversion-strip strong{display:block;color:var(--dark);font:22px Georgia;margin-bottom:5px}.conversion-strip p{font-size:13px;line-height:1.6;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature-grid article{padding:30px 26px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s,transform .3s}.feature-grid article:hover{background:#fffaf5;transform:translateY(-4px)}.feature-icon{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid #c6a4a8;border-radius:50%;color:var(--accent);margin-bottom:18px;background:#fffaf5}.feature-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.feature-grid article:hover .feature-icon{animation:icon-breathe 1.6s ease-in-out infinite}.feature-grid article:hover .icon-music svg,.feature-grid article:hover .icon-heart svg{animation:icon-float 1.8s ease-in-out infinite}.feature-grid article:hover .icon-check svg{animation:icon-check .9s ease both}.feature-grid h3{font:23px Georgia;color:var(--dark);margin-bottom:9px}.feature-grid p{font-size:14px;line-height:1.7;margin:0}.feature-note{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;max-width:900px;margin:32px auto 0;padding:18px 22px;border:1px solid #ddc8c0;background:#fffaf5}.feature-note-icon{color:#b18a58;font:26px Georgia}.feature-note p{font-size:14px;margin:0;color:var(--dark)}
.real-card-preview{margin:0 auto;max-width:220px;position:relative}.real-card-preview img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 16px 32px #61283b28}.real-card-preview figcaption{position:absolute;left:12px;bottom:12px;background:#fffaf0e8;border:1px solid #e4cfa6;border-radius:20px;padding:4px 10px;color:#61283b;font-size:10px;letter-spacing:.5px}
@keyframes icon-breathe{0%,100%{box-shadow:0 0 0 0 #b18a5822;transform:translateY(0)}50%{box-shadow:0 0 0 8px #b18a5800;transform:translateY(-2px)}}@keyframes icon-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes icon-check{from{stroke-dasharray:36;stroke-dashoffset:36}to{stroke-dasharray:36;stroke-dashoffset:0}}
@media(max-width:700px){.trust-stats{padding:22px 0}.trust-grid{grid-template-columns:1fr;gap:17px}.trust-grid article{grid-template-columns:30px 1fr;grid-template-rows:auto auto;text-align:left;max-width:220px;margin:auto;width:100%}.stat-icon{font-size:24px}.trust-grid strong{font-size:26px}.trust-grid p{font-size:11px}.hero-proof{gap:7px 10px;margin-top:12px;font-size:12px}.hero-proof span{white-space:normal}.conversion-strip,.feature-grid{grid-template-columns:1fr}.conversion-strip article{border-right:0;border-bottom:1px solid #dfcbc7}.conversion-strip article:last-child{border-bottom:0}.feature-grid article{padding:25px 22px}.feature-note{grid-template-columns:auto 1fr;align-items:flex-start;margin-top:24px}.feature-note .text-button{grid-column:2}.feature-note p{font-size:13px}}

.hero-proof{justify-content:center;text-align:center}.hero-copy .hero-proof{max-width:520px}.catalog.section,.feature-showcase,.plans-section,.process.section,.trust-quote{padding-top:72px;padding-bottom:72px}.design-card{display:flex;flex-direction:column;height:100%;min-height:575px}.design-art{min-height:374px;display:flex;align-items:center}.design-art .mini-invite{width:100%}.design-copy{display:flex;flex-direction:column;flex:1}.card-actions{margin-top:auto;min-height:42px;justify-content:space-between}.muted-action{display:none}.card-actions .button:only-child{margin-left:auto}.feature-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:30px auto 0;max-width:980px}.feature-pill{border:1px solid #dfcbc7;background:#fffaf5;color:#61283b;border-radius:999px;padding:8px 13px;font-size:12px;line-height:1.2}.feature-pill:hover{transform:translateY(-2px);transition:transform .25s}.trust-quote{text-align:center;background:#f5e6dd}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}.review-card{background:#fffaf5;border:1px solid #dfcbc7;padding:24px 22px}.review-card span{color:#b18a58;font-size:12px;letter-spacing:2px}.review-card p{color:var(--dark);font:17px/1.55 Georgia;margin:13px 0 16px}.review-card small{font-size:12px;color:#7a5962}
@media(max-width:700px){.hero-proof{justify-content:center}.catalog.section,.feature-showcase,.plans-section,.process.section,.trust-quote{padding-top:54px;padding-bottom:54px}.design-card{min-height:0}.design-art{min-height:374px}.card-actions{justify-content:flex-end}.feature-pills{justify-content:flex-start}.review-grid{grid-template-columns:1fr}.review-card p{font-size:16px}}

/* Conversion pass: clearer services, visible WhatsApp and payment-first flow. */
.service-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-tiles article{position:relative;min-height:230px;padding:26px 24px;border:1px solid #dfcbc7;background:linear-gradient(180deg,#fffdf9,#fff6ee);border-radius:8px;overflow:hidden;transition:transform .28s,box-shadow .28s}.service-tiles article:after{content:"";position:absolute;right:-42px;bottom:-42px;width:130px;height:130px;border-radius:50%;background:#f1dfd2;opacity:.7}.service-tiles article:hover{transform:translateY(-5px);box-shadow:0 16px 34px #61283b12}.service-tiles h3{font:24px Georgia;color:var(--dark);margin:0 0 9px}.service-tiles p{font-size:14px;line-height:1.7;margin:0}.service-tiles .feature-icon{width:54px;height:54px;margin-bottom:20px;background:#fff;color:#81364b;animation:soft-icon 3.4s ease-in-out infinite}.service-tiles article:nth-child(2n) .feature-icon{animation-delay:.4s}.service-tiles article:nth-child(3n) .feature-icon{animation-delay:.8s}.animated-pills span{border:1px solid #dfcbc7;background:#fffaf5;color:#61283b;border-radius:999px;padding:8px 13px;font-size:12px;line-height:1.2;animation:pill-rise 4.5s ease-in-out infinite}.animated-pills span:nth-child(3n){animation-delay:.35s}.animated-pills span:nth-child(4n){animation-delay:.7s}.invitation-sample{background:radial-gradient(circle at 50% 18%,#fffaf4 0 24%,#ead7d2 25% 100%)}.invitation-sample .mini-invite{min-height:334px}.invite-open{border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;padding:8px 16px;margin-top:12px;font:11px Arial;letter-spacing:.8px}.pay-mini{display:inline-flex;width:38px;height:38px;vertical-align:middle;margin-right:8px}.pay-mini .feature-icon{width:38px;height:38px;margin:0;background:#fff}.checkout-step{margin:22px 0;padding:20px;border:1px solid #dfcbc7;border-radius:9px;background:#fffaf5}.checkout-step h3{font:25px Georgia;color:var(--dark);margin:0 0 8px}.checkout-step p{font-size:14px;margin-bottom:14px}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-options button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #81364b;border-radius:999px;background:#81364b;color:#fff;min-height:46px}.payment-options button:nth-child(2){background:#fff;color:#61283b}.payment-options .feature-icon{width:25px;height:25px;border-color:currentColor;background:transparent;color:inherit;margin:0}.form-locked{max-height:0;overflow:hidden;opacity:.15;pointer-events:none;margin:0}.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:10;display:flex;align-items:center;gap:8px;padding:12px 15px;border-radius:999px;background:#1f9d55;color:#fff;box-shadow:0 12px 26px #1236;font-size:14px}.whatsapp-float .feature-icon{width:28px;height:28px;margin:0;border-color:#ffffff80;background:transparent;color:#fff}.rich-reviews .review-card{position:relative;padding-top:68px}.review-avatar{position:absolute;top:20px;left:22px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#81364b;color:#fff;font:20px Georgia}.rich-reviews .review-card p{font-size:18px}.real-case,.extras-grid article:first-child{background-image:none!important}.design-art.real-case:after{display:none}
@keyframes soft-icon{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-3deg)}}@keyframes pill-rise{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:700px){.service-tiles{grid-template-columns:1fr;gap:13px}.service-tiles article{min-height:0;padding:22px 20px 22px 86px}.service-tiles .feature-icon{position:absolute;left:20px;top:22px;width:48px;height:48px}.service-tiles h3{font-size:22px}.feature-showcase .section-title h2{font-size:31px;letter-spacing:-.6px}.feature-showcase .section-title p:last-child{font-size:14px}.animated-pills{justify-content:flex-start;max-height:145px;overflow:auto;padding-bottom:6px}.payment-options{grid-template-columns:1fr}.whatsapp-float{right:13px;bottom:13px;padding:11px}.whatsapp-float span:not(.feature-icon){display:none}.rich-reviews .review-card p{font-size:16px}.checkout-step{padding:18px 16px}.invitation-sample .mini-invite{min-height:330px}}

/* Reference pass based on stronger competitors: more clarity, less repetition. */
.service-tiles-v2{grid-template-columns:1.25fr 1fr 1fr}.service-tiles-v2 article{min-height:270px}.service-tiles-v2 .main-service{grid-row:span 2;background:linear-gradient(155deg,#fffaf5,#f2e0d7)}.service-tiles-v2 ul{position:relative;z-index:1;list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:7px}.service-tiles-v2 li{border:1px solid #dfcbc7;border-radius:999px;background:#fffaf5;padding:6px 9px;color:#61283b;font-size:11px}.feature-ticker{display:flex;gap:10px;overflow:hidden;margin:30px auto 0;max-width:980px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.feature-ticker span{flex:0 0 auto;border:1px solid #dfcbc7;border-radius:999px;background:#fffaf5;color:#61283b;padding:8px 13px;font-size:12px;animation:ticker-breathe 3.8s ease-in-out infinite}.feature-ticker span:nth-child(2n){animation-delay:.3s}.feature-ticker span:nth-child(3n){animation-delay:.6s}.paypal-only{grid-template-columns:1fr}.paypal-only button{background:#81364b!important;color:#fff!important}.checkout-step{box-shadow:0 12px 28px #61283b10}.checkout-step #payment-status{margin:12px 0 0;color:#7a5962}.plan-card .button{gap:8px}.rich-reviews .review-card{border-radius:8px;box-shadow:0 12px 28px #61283b0d}.rich-reviews .review-avatar{box-shadow:0 8px 18px #61283b22}
@keyframes ticker-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:700px){.service-tiles-v2{grid-template-columns:1fr}.service-tiles-v2 .main-service{grid-row:auto}.service-tiles-v2 article{min-height:0}.service-tiles-v2 ul{gap:6px}.feature-ticker{overflow:auto;mask-image:none;padding-bottom:4px}.feature-ticker span{animation:none}.paypal-only button{width:100%}}

/* Animated service icons: visible, elegant movement without changing the hero. */
.service-tiles-v2 article{animation:service-rise .7s ease both}
.service-tiles-v2 article:nth-child(2){animation-delay:.06s}.service-tiles-v2 article:nth-child(3){animation-delay:.12s}.service-tiles-v2 article:nth-child(4){animation-delay:.18s}.service-tiles-v2 article:nth-child(5){animation-delay:.24s}.service-tiles-v2 article:nth-child(6){animation-delay:.3s}
.service-tiles-v2 .feature-icon{position:relative;z-index:1;overflow:visible;animation:icon-orbit 3.8s ease-in-out infinite;box-shadow:0 8px 20px #61283b10}
.service-tiles-v2 article:nth-child(2n) .feature-icon{animation-delay:.45s}.service-tiles-v2 article:nth-child(3n) .feature-icon{animation-delay:.9s}
.service-tiles-v2 .feature-icon:before{content:"";position:absolute;inset:-7px;border:1px solid #b18a5845;border-radius:50%;animation:icon-ring 2.7s ease-out infinite}
.service-tiles-v2 .feature-icon:after{content:"";position:absolute;right:-2px;top:4px;width:7px;height:7px;border-radius:50%;background:#b18a58;box-shadow:0 0 0 5px #b18a5820;animation:icon-dot 2.7s ease-in-out infinite}
.service-tiles-v2 .feature-icon svg{animation:icon-draw 3.8s ease-in-out infinite;stroke-dasharray:56;stroke-dashoffset:0}
.service-tiles-v2 article:hover .feature-icon{animation-duration:1.8s;background:#81364b;color:#fff;border-color:#81364b}
.service-tiles-v2 article:hover .feature-icon:before{border-color:#81364b55}
.feature-ticker span{animation:ticker-breathe 2.8s ease-in-out infinite}
.feature-ticker span:nth-child(4n){animation-delay:.9s}
.whatsapp-float .feature-icon{animation:whatsapp-pulse 2.4s ease-in-out infinite}
@keyframes service-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes icon-orbit{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-5px) rotate(-4deg)}70%{transform:translateY(1px) rotate(3deg)}}
@keyframes icon-ring{0%{opacity:.75;transform:scale(.88)}70%,100%{opacity:0;transform:scale(1.28)}}
@keyframes icon-dot{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3px,-4px) scale(.82)}}
@keyframes icon-draw{0%,100%{stroke-dashoffset:0}45%{stroke-dashoffset:18}75%{stroke-dashoffset:0}}
@keyframes whatsapp-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media(max-width:700px){.service-tiles-v2 .feature-icon{animation-duration:3.2s}.service-tiles-v2 article{animation:none}.service-tiles-v2 .feature-icon:before{inset:-5px}.feature-ticker span{animation:none}}
@media(prefers-reduced-motion:reduce){.service-tiles-v2 article,.service-tiles-v2 .feature-icon,.service-tiles-v2 .feature-icon:before,.service-tiles-v2 .feature-icon:after,.service-tiles-v2 .feature-icon svg,.feature-ticker span,.whatsapp-float .feature-icon{animation:none!important}}

/* Checkout and trust polish. */
.checkout-step{display:none!important}
.service-tiles-v2 article{animation:none!important}
.service-tiles-v2 .feature-icon{animation:service-icon-float 4.8s ease-in-out infinite!important;box-shadow:0 10px 24px #61283b12;border-color:#d7b7a6;background:linear-gradient(180deg,#fff,#fff7ee)}
.service-tiles-v2 .feature-icon:before,.service-tiles-v2 .feature-icon:after{display:none!important}
.service-tiles-v2 .feature-icon svg{animation:none!important;stroke-dasharray:none!important}
.service-tiles-v2 article:hover .feature-icon{background:#81364b;color:#fff;border-color:#81364b;transform:translateY(-3px) scale(1.04)}
.service-tiles-v2 article:hover{box-shadow:0 18px 38px #61283b18}
.whatsapp-float{right:20px;bottom:20px;padding:14px 18px 14px 14px;border-radius:999px;background:#25d366;color:#0d3b22;font-weight:700;box-shadow:0 16px 34px #0f5c3340;font-size:15px}
.whatsapp-float .feature-icon{width:34px;height:34px;background:#fff;color:#1a8f4b;border:0;animation:whatsapp-pulse 2.2s ease-in-out infinite!important}
.payment-footer{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px;color:#7a5962;font-size:11px}
.payment-footer span{margin-right:4px;color:#61283b}
.payment-footer i{font-style:normal;border:1px solid #dfcbc7;border-radius:5px;background:#fffaf5;color:#61283b;padding:5px 8px;line-height:1}
@keyframes service-icon-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:700px){.whatsapp-float{right:14px;bottom:14px;padding:13px;border-radius:999px}.whatsapp-float .feature-icon{width:38px;height:38px}.payment-footer{justify-content:flex-start;margin-top:4px}.payment-footer span{width:100%;margin:0 0 2px}.service-tiles-v2 .feature-icon{animation:service-icon-float 4.2s ease-in-out infinite!important}}

/* Service icons with real function-specific motion. */
.service-tiles-v2 .feature-icon{animation:none!important;transition:transform .25s,background .25s,color .25s,box-shadow .25s}
.service-tiles-v2 .feature-icon svg{overflow:visible}
.service-tiles-v2 .icon-heart svg{animation:heart-beat 2.6s ease-in-out infinite}
.service-tiles-v2 .icon-calendar svg{animation:calendar-tick 2.9s ease-in-out infinite}
.service-tiles-v2 .icon-rsvp svg path:last-child,.service-tiles-v2 .icon-check svg path{stroke-dasharray:32;stroke-dashoffset:32;animation:check-write 2.8s ease-in-out infinite}
.service-tiles-v2 .icon-map svg{animation:pin-drop 2.7s cubic-bezier(.2,.8,.2,1) infinite}
.service-tiles-v2 .icon-gift svg{animation:gift-pop 3s ease-in-out infinite;transform-origin:50% 55%}
.service-tiles-v2 .icon-gallery svg{animation:gallery-shift 3.2s ease-in-out infinite}
.service-tiles-v2 article:nth-child(2) .feature-icon svg{animation-delay:.18s}.service-tiles-v2 article:nth-child(3) .feature-icon svg{animation-delay:.36s}.service-tiles-v2 article:nth-child(4) .feature-icon svg{animation-delay:.54s}.service-tiles-v2 article:nth-child(5) .feature-icon svg{animation-delay:.72s}.service-tiles-v2 article:nth-child(6) .feature-icon svg{animation-delay:.9s}
.service-tiles-v2 article:hover .feature-icon{box-shadow:0 14px 26px #61283b24}
@keyframes heart-beat{0%,100%{transform:scale(1)}12%{transform:scale(1.12)}24%{transform:scale(1)}36%{transform:scale(1.08)}48%{transform:scale(1)}}
@keyframes calendar-tick{0%,100%{transform:translateY(0)}18%{transform:translateY(-2px)}28%{transform:translateY(0)}42%{transform:translateY(-1px)}54%{transform:translateY(0)}}
@keyframes check-write{0%,34%{stroke-dashoffset:32}56%,100%{stroke-dashoffset:0}}
@keyframes pin-drop{0%,100%{transform:translateY(0)}18%{transform:translateY(-7px)}34%{transform:translateY(2px)}44%{transform:translateY(0)}}
@keyframes gift-pop{0%,100%{transform:rotate(0) scale(1)}16%{transform:rotate(-5deg) scale(1.06)}30%{transform:rotate(4deg) scale(1.02)}44%{transform:rotate(0) scale(1)}}
@keyframes gallery-shift{0%,100%{transform:translateX(0) rotate(0)}20%{transform:translateX(2px) rotate(1.5deg)}40%{transform:translateX(-2px) rotate(-1.5deg)}60%{transform:translateX(0) rotate(0)}}
@media(prefers-reduced-motion:reduce){.service-tiles-v2 .feature-icon svg,.service-tiles-v2 .icon-rsvp svg path:last-child,.service-tiles-v2 .icon-check svg path{animation:none!important;stroke-dashoffset:0!important}}

/* Polished animated mini-illustrations for service cards. */
.service-tiles .live-icon{width:66px;height:66px;border:0;border-radius:20px;background:linear-gradient(145deg,#fffaf4,#f2dfd4);box-shadow:0 14px 28px #61283b18;overflow:visible;color:#81364b}
.service-tiles .live-icon svg{width:58px;height:58px;display:block;overflow:visible;animation:none!important}
.live-icon .aura{fill:#ead3c8;opacity:.75;animation:live-aura 3.4s ease-in-out infinite}
.live-icon .main,.live-icon .pin,.live-icon .box{fill:#81364b;stroke:#81364b;stroke-width:1.4;stroke-linejoin:round}
.live-icon .card,.live-icon .photo,.live-icon .map{fill:#fffaf5;stroke:#81364b;stroke-width:2;stroke-linejoin:round}
.live-icon .line,.live-icon .route,.live-icon .ribbon{fill:none;stroke:#b18a58;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.live-icon .check{fill:none;stroke:#1b8a5a;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:34;stroke-dashoffset:34}
.live-icon .dot,.live-icon .hole{fill:#b18a58}
.live-icon .spark{fill:#d9a74f;transform-origin:center;animation:live-spark 2.8s ease-in-out infinite}
.live-heart .main{transform-origin:32px 32px;animation:live-heart 2.2s ease-in-out infinite}
.live-calendar .dot{animation:live-dot 2.6s ease-in-out infinite}.live-calendar .check{animation:live-check 2.6s ease-in-out infinite}
.live-rsvp .check{animation:live-check 2.4s ease-in-out infinite}.live-rsvp .dot{animation:live-pop 2.4s ease-in-out infinite}
.live-map .pin{transform-origin:34px 43px;animation:live-pin 2.7s cubic-bezier(.2,.8,.2,1) infinite}.live-map .route{stroke-dasharray:42;stroke-dashoffset:42;animation:live-route 2.7s ease-in-out infinite}
.live-gift .lid{fill:#b18a58;stroke:#81364b;stroke-width:2;animation:live-lid 2.8s ease-in-out infinite}.live-gift .box{animation:live-box 2.8s ease-in-out infinite}
.live-gallery .photo-back{animation:live-photo-back 3s ease-in-out infinite}.live-gallery .photo-front{animation:live-photo-front 3s ease-in-out infinite}
.service-tiles-v2 article:hover .live-icon{transform:translateY(-4px) scale(1.03);background:linear-gradient(145deg,#fff,#f6e6dc);box-shadow:0 18px 36px #61283b24}
@keyframes live-aura{0%,100%{transform:scale(.94);opacity:.55}50%{transform:scale(1.04);opacity:.85}}
@keyframes live-heart{0%,100%{transform:scale(1)}16%{transform:scale(1.12)}30%{transform:scale(1)}44%{transform:scale(1.08)}58%{transform:scale(1)}}
@keyframes live-spark{0%,100%{transform:scale(.8) rotate(0);opacity:.65}50%{transform:scale(1.18) rotate(16deg);opacity:1}}
@keyframes live-check{0%,35%{stroke-dashoffset:34}62%,100%{stroke-dashoffset:0}}
@keyframes live-dot{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(4px) scale(1.25)}}
@keyframes live-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.28)}}
@keyframes live-pin{0%,100%{transform:translateY(0) scale(1)}22%{transform:translateY(-9px) scale(1.03)}42%{transform:translateY(2px) scale(.98)}55%{transform:translateY(0) scale(1)}}
@keyframes live-route{0%,30%{stroke-dashoffset:42}60%,100%{stroke-dashoffset:0}}
@keyframes live-lid{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-5px) rotate(-4deg)}55%{transform:translateY(0) rotate(0)}}
@keyframes live-box{0%,100%{transform:scale(1)}42%{transform:scale(1.03)}}
@keyframes live-photo-back{0%,100%{transform:translate(0,0) rotate(0)}45%{transform:translate(3px,-2px) rotate(3deg)}}
@keyframes live-photo-front{0%,100%{transform:translate(0,0) rotate(0)}45%{transform:translate(-2px,2px) rotate(-2deg)}}
@media(max-width:700px){.service-tiles .live-icon{width:52px;height:52px;border-radius:16px}.service-tiles .live-icon svg{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.live-icon *{animation:none!important;stroke-dashoffset:0!important}}

/* Keep service icons in the original layout slot. */
.service-tiles .live-icon{width:54px!important;height:54px!important;margin-bottom:20px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}
.service-tiles .live-icon svg{width:42px!important;height:42px!important}
@media(max-width:700px){.service-tiles .live-icon{position:absolute!important;left:20px!important;top:22px!important;width:48px!important;height:48px!important;margin:0!important}.service-tiles .live-icon svg{width:38px!important;height:38px!important}}

/* WhatsApp button reset: readable, standard and consistent. */
.whatsapp-float{right:18px!important;bottom:18px!important;z-index:30!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:52px!important;padding:10px 18px 10px 12px!important;border-radius:999px!important;background:#25d366!important;color:#fff!important;font:700 15px/1 Arial,Helvetica,sans-serif!important;box-shadow:0 12px 30px rgba(37,211,102,.35)!important}
.whatsapp-float .feature-icon{width:34px!important;height:34px!important;margin:0!important;border:0!important;border-radius:50%!important;background:#fff!important;color:#25d366!important;display:flex!important;align-items:center!important;justify-content:center!important;animation:none!important}
.whatsapp-float .feature-icon svg{width:24px!important;height:24px!important;stroke-width:1.9!important}
.whatsapp-float span:not(.feature-icon){display:inline!important;color:#fff!important;letter-spacing:0!important}
@media(max-width:700px){.whatsapp-float{right:14px!important;bottom:14px!important;min-height:52px!important;padding:10px 14px 10px 10px!important;font-size:14px!important}.whatsapp-float .feature-icon{width:34px!important;height:34px!important}.whatsapp-float span:not(.feature-icon){display:inline!important}}

/* Real invitation card examples. */
.real-design-card .design-art{min-height:392px;padding:28px;align-items:center;justify-content:center}
.real-card-art{overflow:hidden}
.real-card-coast{background:linear-gradient(160deg,#f9f2e8 0%,#d8e7eb 48%,#183b52 100%)}
.real-card-coast:after{content:"";position:absolute;left:-15%;right:-15%;bottom:-32px;height:105px;background:radial-gradient(ellipse at 50% 0%,#f7d59b 0 35%,#d3a55e00 36%);opacity:.85}
.real-envelope-preview{position:relative;z-index:1;width:min(245px,92%);height:300px;display:flex;align-items:center;justify-content:center;perspective:800px}
.envelope-body{width:100%;height:205px;margin-top:55px;background:linear-gradient(145deg,#fff7e7,#e2be7e);border:1px solid #b98a42;box-shadow:0 22px 44px #183b5238;text-align:center;color:#4f3518;padding:58px 18px 20px}
.envelope-flap{position:absolute;top:42px;width:100%;height:120px;background:linear-gradient(145deg,#ffe7b4,#bb8438);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;animation:envelope-open 4.8s ease-in-out infinite;box-shadow:0 10px 18px #183b5224;z-index:2}
.seal{position:absolute;top:118px;left:50%;transform:translateX(-50%);z-index:3;width:58px;height:58px;border-radius:50%;background:#8c6428;color:#fff8dd;display:flex;align-items:center;justify-content:center;font:17px Georgia;box-shadow:0 8px 20px #1d130a3a}
.envelope-body p{font:12px Arial;letter-spacing:1.8px;color:#6b4a1f;margin:0 0 14px}.envelope-body strong{display:block;font:30px Georgia;color:#4d2b17;line-height:1.1}.envelope-body small{display:block;margin-top:18px;font:10px Arial;letter-spacing:1.4px}
.real-card-ivory{background:radial-gradient(circle at 50% 15%,#fffaf3 0 24%,#eaded2 25% 100%)}
.classic-suite{position:relative;z-index:1;width:min(230px,92%);min-height:318px;background:#fffaf4;border:1px solid #d8bd86;box-shadow:0 18px 38px #61283b20;text-align:center;padding:28px 22px;color:#5b3c23}
.classic-suite:before,.classic-suite:after{content:"";position:absolute;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,#fff 0 22%,#e7d2c8 23% 48%,transparent 49%);opacity:.9;animation:flower-drift 6s ease-in-out infinite}
.classic-suite:before{left:-28px;top:-18px}.classic-suite:after{right:-24px;bottom:-18px;animation-delay:1.2s}
.photo-pill{width:82px;height:102px;margin:0 auto 15px;border-radius:42px 42px 6px 6px;background:linear-gradient(150deg,#e7d8c6,#a7744f);box-shadow:inset 0 0 0 6px #fff8ee}
.classic-suite h3{font:31px/1 Georgia;color:#5b2e1d;margin:8px 0}.classic-suite h3 i{font-size:17px}.classic-suite p{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:#7b6148;margin:12px 0}.classic-suite small{font:10px Arial;letter-spacing:1.8px}.gold-line{width:58px;height:1px;background:#c7a25a;margin:18px auto 0}
.real-card-editorial{background:#24151b;color:#fff}
.editorial-suite{position:relative;z-index:1;width:100%;height:318px;display:grid;grid-template-columns:1fr .86fr;background:#f8efe7;box-shadow:0 18px 40px #0005}
.editorial-photo{background:linear-gradient(155deg,#a56a59,#2a171d 52%,#09070a);position:relative;overflow:hidden}
.editorial-photo:before{content:"";position:absolute;inset:32px 22px;border-radius:50% 50% 6px 6px;background:linear-gradient(150deg,#f2d7c7,#7a3c38 52%,#1b1014);animation:photo-glow 5s ease-in-out infinite}
.editorial-copy{padding:32px 18px;display:flex;flex-direction:column;justify-content:center;color:#2e1b20;text-align:left}
.editorial-copy span{font:9px Arial;letter-spacing:2px;color:#8d5961}.editorial-copy h3{font:35px/.95 Georgia;color:#2d1118;margin:15px 0}.editorial-copy p{font:13px/1.6 Georgia;color:#6f5557;margin:0 0 22px}.editorial-copy small{font:10px Arial;letter-spacing:1.4px;color:#8d5961}
@keyframes envelope-open{0%,52%,100%{transform:rotateX(0)}18%,38%{transform:rotateX(-68deg)}}
@keyframes flower-drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(8deg)}}
@keyframes photo-glow{0%,100%{filter:saturate(1) brightness(1)}50%{filter:saturate(1.15) brightness(1.08)}}
@media(max-width:700px){.real-design-card .design-art{min-height:374px;padding:26px}.editorial-suite{height:310px}.classic-suite{min-height:310px}.real-envelope-preview{height:300px}}

/* iPhone style previews for the invitation catalog. */
.phone-design-card .design-art{min-height:430px;padding:28px;display:flex;align-items:center;justify-content:center}
.iphone-card-art{overflow:hidden;isolation:isolate}
.iphone-card-art:before{content:"";position:absolute;inset:auto -18% -38px -18%;height:150px;background:radial-gradient(ellipse at center,#fff8 0 25%,transparent 66%);z-index:0}
.beach-phone{background:linear-gradient(150deg,#f7ebdc 0%,#b9dce5 48%,#123d50 100%)}
.wine-phone{background:linear-gradient(150deg,#f8efe9 0%,#6d2138 58%,#251017 100%)}
.coastal-phone{background:linear-gradient(150deg,#f4e2cb 0%,#d7a968 42%,#082a35 100%)}
.iphone-mockup{position:relative;z-index:1;width:min(214px,88%);aspect-ratio:9/19.5;border-radius:34px;background:#141014;padding:10px;border:1px solid #ffffff60;box-shadow:0 26px 58px #2d151c45, inset 0 0 0 1px #000;transform:rotate(-2deg);transition:transform .35s,box-shadow .35s}
.phone-design-card:nth-child(2) .iphone-mockup{transform:rotate(2deg)}
.phone-design-card:nth-child(3) .iphone-mockup{transform:rotate(-1deg)}
.iphone-card-art:hover .iphone-mockup{transform:translateY(-7px) rotate(0);box-shadow:0 34px 72px #2d151c55, inset 0 0 0 1px #000}
.iphone-speaker{position:absolute;left:50%;top:9px;z-index:3;width:62px;height:16px;transform:translateX(-50%);border-radius:0 0 14px 14px;background:#080708}
.iphone-speaker:after{content:"";position:absolute;left:50%;top:5px;width:28px;height:4px;transform:translateX(-50%);border-radius:99px;background:#2c2a2d}
.iphone-screen{position:relative;width:100%;height:100%;border-radius:26px;overflow:hidden;background:#f8efe7}
.iphone-screen iframe{position:absolute;inset:0;width:390%;height:390%;border:0;transform:scale(.2565);transform-origin:0 0;pointer-events:none;background:#fff}
.phone-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:linear-gradient(160deg,#fff6de,#dcae61 52%,#246275);color:#4d2f13;font-family:Georgia,serif}
.phone-fallback span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#8c6428;color:#fff8dd;margin-bottom:20px}
.phone-fallback strong{font-size:27px;line-height:1.05;color:#42240f}
.phone-fallback small{font:10px Arial;letter-spacing:1.8px;text-transform:uppercase;margin-top:18px;color:#604017}
.gn-screen iframe{opacity:0}
.gn-screen{background:#efe2cf}
.real-envelope-screen{display:block}
.phone-real-preview{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.phone-envelope{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;overflow:hidden}
.phone-envelope:before{content:"";position:absolute;left:8%;right:8%;bottom:20px;height:62px;background:radial-gradient(ellipse at center,#f7dfad 0 28%,transparent 68%);opacity:.85}
.phone-envelope-card{position:relative;z-index:1;width:100%;height:250px;margin-top:34px;background:linear-gradient(145deg,#fff5dd,#d9ab58);border:1px solid #af7b2d;box-shadow:0 18px 34px #1d364a38;text-align:center;color:#4d2d12;padding:88px 14px 20px;font-family:Georgia,serif}
.phone-envelope-flap{position:absolute;z-index:2;top:70px;left:22px;right:22px;height:118px;background:linear-gradient(145deg,#ffe9b9,#b77d2e);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;animation:phone-envelope-open 4.8s ease-in-out infinite;box-shadow:0 12px 22px #183b5230}
.phone-seal{position:absolute;z-index:3;top:118px;left:50%;transform:translateX(-50%);width:58px;height:58px;border-radius:50%;background:#8b6428;color:#fff7da;display:flex;align-items:center;justify-content:center;font:17px Georgia;box-shadow:0 8px 22px #1d130a3c}
.phone-envelope-card small{display:block;font:9px Arial;letter-spacing:1.8px;color:#684317;margin-bottom:18px}
.phone-envelope-card strong{display:block;font:28px/1.05 Georgia;color:#47240f}
.phone-envelope-card em{display:block;margin-top:18px;font:10px Arial;letter-spacing:1.4px;color:#684317;font-style:normal}
@keyframes phone-envelope-open{0%,52%,100%{transform:rotateX(0)}18%,38%{transform:rotateX(-64deg)}}
@media(max-width:700px){.phone-design-card .design-art{min-height:410px;padding:24px}.iphone-mockup{width:min(205px,84%)}.iphone-screen iframe{width:410%;height:410%;transform:scale(.244)}}
