/* A single responsive layout keeps the mascot outside the plaque and the copy readable. */
.share-banner{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;position:relative;overflow:visible;isolation:isolate;min-height:132px;padding:24px 26px 24px 158px;margin:44px 0 32px;background:linear-gradient(115deg,#eff8ee,#f8fbf6 63%,#edf6e9);border:1px solid #deeadb;border-radius:22px;box-shadow:0 4px 0 #e1eadf}
.share-banner-art{position:absolute;left:12px;top:-38px;width:132px;height:160px;z-index:1;mix-blend-mode:normal;pointer-events:none;user-select:none}
.share-banner-art img{display:block;width:100%;height:100%;object-fit:contain}
.share-banner-copy{flex:1 1 250px;min-width:0}
.share-banner .eyebrow{font-size:.54rem;letter-spacing:1.25px;color:#8ca383}
.share-banner h2{font-size:1.15rem;line-height:1.35;letter-spacing:-.3px;color:#3c5b40;margin:6px 0 7px}
.share-banner p{font-size:.77rem;line-height:1.6;color:#82917d;margin:0;max-width:440px}
.share-banner .button{flex:0 0 auto;max-width:100%;min-height:44px;background:#fffefb;border:1px solid #d4e4ce;color:#53734a;font-size:.79rem;line-height:1.45;padding:12px 16px;gap:8px;white-space:normal;text-align:center;box-shadow:0 3px 0 #dbe7d6}
.share-banner .button:hover{background:#fafff5}
.share-banner.after-result{margin:48px auto 38px}
.share-banner-count{display:block;margin-top:10px;font-size:.7rem;font-weight:650;line-height:1.4;color:#5b795b}
.progress-share-banner p{color:#617c67}
@media(max-width:1100px){.share-banner{gap:16px 20px;padding:22px 24px 22px 148px}.share-banner-art{left:10px;width:126px;height:154px}.share-banner h2{font-size:1rem}.share-banner .eyebrow{display:none}}
@media(max-width:720px){.share-banner{gap:16px;min-height:0;padding:23px 20px 20px;margin:42px 0 26px;border-radius:18px}.share-banner-art{left:6px;right:auto;top:-32px;width:112px;height:142px}.share-banner-copy{flex-basis:100%;padding-left:104px;padding-right:0}.share-banner h2{font-size:1rem;line-height:1.4;margin:0 0 7px}.share-banner p{font-size:.75rem;line-height:1.55}.share-banner .button{width:100%;font-size:.8rem}.share-banner.after-result{margin-top:44px}}

dialog.share-dialog{width:min(930px,calc(100vw - 36px));max-width:930px;max-height:calc(100dvh - 40px);border:1px solid #dbe8dc;border-radius:27px;padding:32px;background:#f9fcf7;color:#36513d;box-shadow:0 28px 100px #1e412b30;overflow:auto}dialog.share-dialog::backdrop{background:#223b306b;backdrop-filter:blur(5px)}.share-dialog .dialog-close{font-size:28px;line-height:1;color:#80917c;background:#edf3e8;width:35px;height:35px;border-radius:50%;right:19px;top:18px}.share-dialog-heading{padding-right:30px}.share-dialog-heading h2{font-size:1.6rem;letter-spacing:-.6px;margin:9px 0 10px}.share-dialog-heading p{font-size:.85rem;color:#8a9b84;margin:0 0 24px;line-height:1.6}.share-dialog-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:32px}.share-preview{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#e9f2e7;box-shadow:0 8px 22px #4c704421;display:grid;place-items:center;font-size:.85rem;line-height:1.65;text-align:center;color:#789070}.share-preview img{display:block;width:100%;height:auto}.share-loading{padding:25px}.share-controls{display:flex;flex-direction:column;gap:13px;min-width:0}.share-format{font-size:.65rem;color:#8c9b83;letter-spacing:.8px}.share-controls h3{font-size:1.07rem;margin:10px 0;color:#4b6347;line-height:1.5}.share-controls p{font-size:.81rem;line-height:1.7;color:#87947f;margin:0 0 8px}.share-controls .button{width:100%;font-size:.84rem}.share-controls [hidden]{display:none}.share-controls [aria-disabled=true]{opacity:.45;pointer-events:none}.share-caption{font-size:.74rem;color:#809074}.share-caption summary{cursor:pointer;padding:6px 0}.share-caption textarea{resize:vertical;display:block;width:100%;min-height:155px;padding:13px;margin-top:9px;border:1px solid #dce7d4;border-radius:12px;font:inherit;line-height:1.65;color:#617257;background:white}.share-controls p.share-status{font-size:.73rem;color:#598055;margin:0;min-height:24px}
@media(min-width:721px){.share-preview{width:min(100%,calc((100dvh - 210px)*.8));margin-inline:auto}}

@media(max-width:720px){dialog.share-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:24px 20px;border-radius:23px}.share-dialog-heading h2{font-size:1.3rem;line-height:1.3;margin-top:10px}.share-dialog-heading .eyebrow{font-size:.52rem}.share-dialog-heading p{font-size:.78rem;margin-bottom:20px}.share-dialog-layout{grid-template-columns:1fr;gap:23px}.share-preview{width:100%;max-width:340px;margin:auto}.share-controls{gap:10px}.share-controls .button{min-height:46px}.share-controls p{font-size:.8rem}.share-dialog .dialog-close{top:14px;right:14px}}

.welcome-banner h2{font-size:1.3rem}
.welcome-banner p{max-width:720px;font-size:.88rem;line-height:1.7;color:#617c67}
@media(max-width:720px){
 .welcome-banner .share-banner-art{top:-24px;width:112px;height:128px}
 .welcome-banner .share-banner-copy{padding-left:0}
 .welcome-banner h2{display:flex;align-items:center;min-height:74px;padding-left:104px;margin:0 0 14px;font-size:1.15rem}
 .welcome-banner p{font-size:.83rem;line-height:1.7}
}
