[hidden]{display:none!important}.price-note{display:none}.header-note,.desk-sticker{display:none}.preview-heading>span{letter-spacing:.7px}.eyebrow{font-size:11px;letter-spacing:1px}.editor h2{font-size:32px;letter-spacing:-1px;line-height:1.15}.subtitle{font-size:15px}.summary-card{padding:20px;margin:18px 0}.summary-card p{font-size:14px;color:var(--muted);line-height:1.5;margin:8px 0 0}.simple-steps{font-size:14px;line-height:1.6;padding-left:22px;margin:22px 0}.simple-steps li{padding-left:5px;margin:10px 0}.simple-steps li::marker{color:var(--wine);font-weight:700}.shared-contract .editor{padding-top:30px}.shared-contract #steps{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-bottom:28px}.flow-brand{font-size:13px;color:var(--muted)}.new-contract{font-size:12px;color:var(--wine);text-decoration:none}.link-card{padding:18px;background:#fff0f4;border:1px solid #eeb6c3;border-radius:14px;margin:22px 0}.link-card h3{font-size:14px;margin:0 0 12px}.link-box{display:flex;gap:8px}.link-box input{font-size:12px;padding:10px;min-width:0;flex:1;background:white}.link-box button{background:var(--wine);color:white;flex-shrink:0;border:0}.waiting-card{display:flex;gap:15px;background:#fff7f9;border:1px solid #efdce2;border-radius:13px;padding:18px;margin:22px 0}.waiting-card>span{font-size:32px;color:var(--wine)}.waiting-card strong{font-size:14px}.waiting-card p,.owner-reminder p{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0 0}.owner-reminder{margin:27px 0;padding-top:20px;border-top:1px solid var(--line)}.owner-reminder strong{font-size:14px}.owner-reminder .text-button{margin-top:10px;padding:0;color:var(--wine);text-decoration:underline}.privacy-note{font-size:12px;line-height:1.6;color:var(--muted)}.flow-action{width:100%;margin:22px 0 16px}.secondary-action{width:100%;border:1px solid #dbc8d0;background:white;border-radius:25px;padding:13px;font-size:14px;color:var(--wine)}.review-list{border-top:1px solid var(--line)}.review-line{display:flex;gap:12px;align-items:baseline;border-bottom:1px solid var(--line);padding:12px 0}.review-line>span{font-size:13px;color:var(--wine)}.review-line p{font-size:14px;line-height:1.6;margin:0}.signature-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;margin:18px 0}.signature-consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--wine);margin-top:3px}.flow-error{color:#ad1833;font-size:14px;line-height:1.6}.flow-error:empty{display:none}.proposal-field{display:flex;gap:8px;align-items:center;margin-bottom:14px}.proposal-field label{flex:1;font-size:12px;color:var(--muted)}.proposal-field textarea{margin-top:6px;min-height:74px;font-size:14px}.remove-clause{border:1px solid #ecd4dc;border-radius:50%;width:30px;height:30px;background:white;font-size:22px;color:var(--wine);flex-shrink:0}.change{padding:13px 15px;margin:10px 0;border:1px solid var(--line);border-radius:10px}.change p{font-size:14px;line-height:1.6;margin:6px 0 0}.change small{font-size:11px;font-weight:700}.change.removed{background:#fff3f3;color:#7e4454}.change.removed p{text-decoration:line-through}.change.added{background:#f3f7ff;color:#384878}.primary:disabled,.small-button:disabled{opacity:.6;cursor:wait;transform:none}.shared-contract .editor-content{padding-bottom:25px}.signature img{object-fit:contain}#signatureCanvas{display:block}dialog>button{z-index:1}
@media(max-width:760px){.editor h2{font-size:29px}.editor{padding-top:22px}.shared-contract .editor{padding-top:20px}.shared-contract #steps{margin-bottom:23px}.link-box{flex-direction:column}.link-box button{padding:13px}.editor-content .subtitle br{display:none}.simple-steps{margin:18px 0}.shared-contract .preview-pane.fullscreen{overflow:auto}.preview-heading{position:relative}.primary{line-height:1.35}.summary-card{box-shadow:none}.flow-action{margin-top:22px}}

/* A short, calm reveal before the invited person sees the contract. */
.intro-active{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important}.contract-intro{position:fixed;z-index:100;inset:0;width:100vw;height:100dvh;overflow:hidden;overscroll-behavior:none;display:grid;grid-template-rows:auto 1fr;padding:28px clamp(22px,5vw,64px) 36px;background:radial-gradient(circle at 50% 22%,#fff 0,#fff8fb 36%,#f8edf3 100%);color:#2f2a2d;transition:opacity .28s ease,transform .28s ease}
.contract-intro.leaving{opacity:0;transform:scale(1.015);pointer-events:none}.intro-brand{font-size:12px;font-weight:750;letter-spacing:1.5px;color:#c34e78}.intro-brand span{margin-left:8px;color:#9a8891;font-size:10px;font-weight:500;letter-spacing:.5px}.intro-heart{position:absolute;left:50%;top:20%;transform:translate(-50%,-50%);font-size:clamp(88px,18vw,160px);line-height:1;color:#f3b7cd;animation:introBeat 2.4s ease-in-out infinite}.intro-card{position:relative;z-index:1;align-self:center;justify-self:center;width:min(100%,580px);text-align:center}.intro-card p{min-height:2.5em;margin:28px auto 34px;font:650 clamp(31px,5vw,54px)/1.12 Onest,Arial,sans-serif;letter-spacing:-1.6px;text-wrap:balance}.intro-next{min-width:min(100%,320px);min-height:58px;padding:16px 30px;border:0;border-radius:999px;background:#f24982;color:#fff;font:600 17px/1.2 Onest,Arial,sans-serif}.intro-next:hover{background:#df3d73}.intro-next:active{transform:scale(.98)}.intro-dots{display:flex;justify-content:center;gap:7px}.intro-dots i{display:block;width:26px;height:4px;border-radius:4px;background:#eadde3;transition:background .25s,width .25s}.intro-dots i.active{background:#ef4a81}.contract-intro.changing .intro-card p{animation:introText .38s ease both}
@keyframes introText{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes introBeat{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.06)}}
@media(max-width:760px){.contract-intro{padding:24px 22px calc(30px + env(safe-area-inset-bottom))}.intro-heart{top:24%;font-size:104px}.intro-card{align-self:end;padding-bottom:10vh}.intro-card p{font-size:34px;letter-spacing:-1.2px;margin-bottom:30px}.intro-next{width:100%;font-size:16px}}
@media(prefers-reduced-motion:reduce){.contract-intro,.intro-heart,.contract-intro.changing .intro-card p{animation:none;transition:none}}
@media print{.paper{break-inside:avoid}.shared-contract .editor{display:none!important}}
