:where(body:not(.app-home)) .hero-scene{height:550px;position:relative;isolation:isolate}:where(body:not(.app-home)) .scene-orbit{position:absolute;inset:30px -10px 20px;border-radius:50%;background:#f1eddc;z-index:-1}:where(body:not(.app-home)) .scene-orbit::after{content:'';position:absolute;inset:-15px;border:1px dashed #d9d3bf;border-radius:50%}:where(body:not(.app-home)) .hero-window{width:365px;position:absolute;top:28px;left:50%;transform:translateX(-50%) rotate(5deg);border:1px solid #706050;border-radius:12px;background:#fdfbf5;box-shadow:9px 12px 0 #e2d8c9;overflow:hidden}:where(body:not(.app-home)) .window-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#e4dfef;border-bottom:1px solid #b5a9bb;font-size:10px;color:#554c58;gap:12px}:where(body:not(.app-home)) .window-dots{display:flex;gap:4px}:where(body:not(.app-home)) .window-dots i{width:6px;height:6px;border:1px solid #8f809c;border-radius:50%}:where(body:not(.app-home)) .invitation-art{text-align:center;padding:27px 24px 23px;background-image:radial-gradient(#dac8ac77 .7px,transparent .7px);background-size:11px 11px}:where(body:not(.app-home)) .mini-eyebrow{font-size:8px;font-weight:700;letter-spacing:.14em}:where(body:not(.app-home)) .invitation-art h2{font-size:36px;line-height:1.12;margin-top:11px}:where(body:not(.app-home)) .hero-balloons{height:204px;width:270px;margin:-1px auto -26px;transform:rotate(-5deg)}:where(body:not(.app-home)) .invitation-signature{font-size:11px;position:relative;display:inline-block;background:#fdfbf5;padding:4px 10px}:where(body:not(.app-home)) .invitation-signature span{color:var(--coral);font-size:18px;padding-left:5px}:where(body:not(.app-home)) .names-example{display:flex;justify-content:center;gap:10px;flex-wrap:nowrap;margin:20px 0}:where(body:not(.app-home)) .names-example>span{display:grid;place-items:center;gap:4px;min-width:75px;min-height:95px;padding:12px;border:1px solid #b5bfa2;border-radius:50% 50% 44% 44%;background:var(--green);font:600 20px/1.3 var(--serif)}:where(body:not(.app-home)) .names-example>span:nth-child(2){background:#f4ddb0;transform:translateY(10px)}:where(body:not(.app-home)) .name-mini{display:flex;align-items:center;justify-content:center}:where(body:not(.app-home)) .name-example-step{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;font:600 22px/1.4 var(--serif);padding:12px 18px;background:var(--green);border-radius:30px;color:var(--ink)}:where(body:not(.app-home)) .invite-button{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-radius:5px;background:#74806a;color:white;font-size:11px;font-weight:600;text-decoration:none;margin-top:13px}:where(body:not(.app-home)) .invite-button:hover{background:#5b674f}:where(body:not(.app-home)) .happy-sticker{position:absolute;right:-12px;top:0;z-index:3;width:125px;height:125px;display:grid;place-items:center;background:#dce3b9;text-align:center;line-height:1.2;transform:rotate(13deg);clip-path:polygon(50% 0,59% 8%,70% 3%,75% 15%,88% 13%,88% 27%,100% 32%,94% 43%,100% 54%,90% 62%,94% 74%,81% 78%,78% 92%,65% 90%,56% 100%,47% 92%,34% 98%,28% 86%,15% 86%,15% 72%,3% 66%,9% 54%,0 44%,10% 34%,7% 22%,22% 18%,24% 7%,39% 10%)}:where(body:not(.app-home)) .happy-sticker>span{font-size:9px;transform:rotate(-5deg)}:where(body:not(.app-home)) .happy-sticker strong{display:block;font:700 23px/1 var(--serif);margin-top:2px;letter-spacing:-1px}:where(body:not(.app-home)) .sticker-face{font:700 22px/1 var(--sans)}:where(body:not(.app-home)) .guess-ticket{position:absolute;left:-12px;top:351px;display:flex;align-items:center;gap:12px;width:258px;background:#fffdf8;padding:17px 16px;transform:rotate(-9deg);border:1px solid #c8b9a6;border-radius:7px;box-shadow:3px 5px 0 #d5cebb88;z-index:4}:where(body:not(.app-home)) .ticket-heart{border-radius:50%;background:#f4d7d9;font-size:27px;width:42px;height:42px;text-align:center;color:#a75566;line-height:42px}:where(body:not(.app-home)) .guess-ticket strong,:where(body:not(.app-home)) .guess-ticket div>span{display:block}:where(body:not(.app-home)) .guess-ticket strong{font-size:12px}:where(body:not(.app-home)) .guess-ticket div>span{font-size:10px;margin-top:3px;color:var(--muted)}:where(body:not(.app-home)) .guess-ticket svg{width:24px;height:24px;color:#ae8348;margin-left:auto}:where(body:not(.app-home)) .name-ticket{position:absolute;right:-15px;top:268px;transform:rotate(10deg);padding:13px 19px;background:#f4ddb0;border:1px solid #c4a273;border-radius:5px;box-shadow:2px 4px 0 #c4a27333;font-size:12px;z-index:3}:where(body:not(.app-home)) .name-ticket>span{font-size:22px;vertical-align:middle;margin-right:6px}:where(body:not(.app-home)) .handwritten{font:italic 600 19px/1.2 var(--serif);letter-spacing:-.5px}:where(body:not(.app-home)) .scene-caption{position:absolute;bottom:3px;left:115px;transform:rotate(-6deg);color:#7a735e}:where(body:not(.app-home)) .scene-caption svg{position:absolute;width:80px;height:65px;left:145px;bottom:5px;transform:rotate(-15deg)}

:where(body:not(.app-home)) .button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 24px;border:1px solid var(--coral);border-radius:7px;background:var(--coral);color:#fffaf3;font-size:14px;font-weight:600;text-decoration:none;box-shadow:0 3px 0 #863b2f;transition:background .2s,transform .2s,box-shadow .2s}:where(body:not(.app-home)) .button:hover{background:#a24334;transform:translateY(-2px);box-shadow:0 5px 0 #863b2f}:where(body:not(.app-home)) .button:active{transform:translateY(2px);box-shadow:none}:where(body:not(.app-home)) .button span{font-size:21px;line-height:1}:where(body:not(.app-home)) .button-small{font-size:12px;min-height:43px;padding:10px 17px;gap:20px}:where(body:not(.app-home)) .text-link{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:44px;border:0;background:none;padding:0;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}:where(body:not(.app-home)) .text-link:hover{color:var(--coral)}

:where(body:not(.app-home)) .hero-trust-badges{display:flex;align-items:center;gap:10px;margin-top:18px;flex-wrap:wrap}:where(body:not(.app-home)) .trust-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#554e42;background:#f5efe2;border:1px solid #dfd5c2;border-radius:20px;padding:4px 10px;line-height:1.2}:where(body:not(.app-home)) .trust-pill span{font-size:12px;line-height:1}

.app-home .brand img{ display: block; width: 150px; max-width: 100%; height: auto; }
.app-home .invitation-scene{ position: relative; height: 225px; display: grid; place-items: center; margin: 9px -7px 5px; }
.app-home .scene-orbit{ position: absolute; width: 255px; height: 185px; border: 1px dashed #cec7b3; border-radius: 50%; transform: rotate(-17deg); }
.app-home .scene-orbit::before{ content: ''; position: absolute; inset: 16px -15px; border-radius: 50%; background: #eee9db; z-index: -1; }
.app-home .invitation{ position: relative; text-align: center; width: 175px; min-height: 191px; background: #fffcf4; border: 1px solid #cabfa9; border-radius: 8px; padding: 13px 10px 10px; transform: rotate(-7deg); box-shadow: 5px 6px 0 #ded4c0, 8px 12px 18px #54422e0c; }
.app-home .invitation::before{ content: ''; position: absolute; inset: 5px; border: 1px solid #e3d9c5; border-radius: 5px; pointer-events: none; }
.app-home .invitation .eyebrow{ font-size: 6px; letter-spacing: .14em; }
.app-home .invitation h3{ font: 700 20px/1.05 Fraunces, serif; margin-top: 5px; letter-spacing: -.6px; }
.app-home .invitation img{ display: block; height: 88px; width: 120px; margin: 3px auto 0; }
.app-home .invitation .signature{ font-size: 7px; color: #796e5c; }
.app-home .invitation .mini-button{ display: block; background: var(--coral); color: #fffaf3; border-radius: 3px; font-size: 6px; padding: 5px; margin: 7px 9px 0; }
.app-home .scene-ticket{ position: absolute; background: #fffdf7; border: 1px solid #ded6c4; border-radius: 6px; padding: 8px 10px; font-size: 8px; box-shadow: 0 3px 8px #393c3008; }
.app-home .scene-ticket strong{ display: block; font-size: 9px; font-weight: 600; }
.app-home .scene-ticket.guess{ left: -2px; top: 114px; transform: rotate(-10deg); }
.app-home .scene-ticket.name{ right: -3px; top: 55px; transform: rotate(9deg); background: #f4ebdc; }
.app-home .scene-ticket .heart{ color: #b26975; margin-right: 3px; }
.app-home .spark{ position: absolute; font-size: 30px; color: #a18044; font-family: Georgia, serif; }
.app-home .spark.one{ right: 24px; bottom: 18px; }
.app-home .spark.two{ left: 30px; top: 15px; font-size: 22px; }
.app-home .sample-caption{ position: absolute; bottom: -1px; right: 39px; font: italic 600 11px Fraunces, serif; color: #7d715e; transform: rotate(-5deg); }
.app-home .primary,.app-home .secondary{ width: 100%; min-height: 51px; border-radius: 13px; display: flex; align-items: center; justify-content: center; gap: 15px; text-decoration: none; font-size: 13px; font-weight: 600; padding: 12px 14px; }
.app-home .primary{ background: var(--coral); color: #fffaf3; border: 1px solid var(--coral); box-shadow: 0 3px 0 #943f2f; }
.app-home .primary:hover{ background: #a74534; }
.app-home .primary .arrow{ margin-left: auto; font-size: 18px; line-height: 1; }
.app-home .primary:has(.arrow){ justify-content: flex-start; padding-left: 19px; }
.app-home .secondary{ background: transparent; border: 1px solid #cfc7b8; margin-top: 12px; color: var(--ink); }
.app-home .secondary:hover{ background: #f1ecdf; }
.app-home .reassurance{ display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; font-size: 9px; color: #686e59; }
.app-home .reassurance span::before{ content: '✓'; padding-right: 4px; }
