/* Shared public-page polish. Private builder/recipient screens are separate. */
body::before{background:radial-gradient(ellipse at 95% 5%,rgba(66,91,164,.28),transparent 52%),linear-gradient(160deg,#14275f,#0c1738)}
h1{line-height:1.02;text-shadow:1px 2px 0 rgba(216,64,42,.25)}
h1::before{content:none}
h2,h3{font-family:var(--body);text-transform:none;line-height:1.2;letter-spacing:-.02em}
h2{font-size:clamp(25px,4vw,32px)}
h3{font-size:20px}
.microcopy{font-family:var(--body);font-size:13px;letter-spacing:0;text-transform:none;color:#c4cee9}
.cta{font-family:var(--body);font-size:17px;text-transform:none;letter-spacing:0;line-height:1.25;padding:14px 22px;border-radius:6px}
.cta:hover{background:#fff8ec;border-color:#fff8ec}
a:focus-visible,summary:focus-visible{outline:3px solid #ffab8a;outline-offset:4px}
.text-link{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px;font-size:15px;color:#d9e0f5}
.home-page .wrap{max-width:1040px}
.home-hero{display:grid;gap:24px;align-items:center;margin:26px 0 0}
.home-hero h1{font-size:clamp(38px,8vw,62px);margin:0;overflow-wrap:normal}
.home-hero .lede{font-size:18px;line-height:1.45;margin:16px 0 20px;max-width:43ch}
.home-hero .microcopy{margin:10px 0 0}
.home-hero .ctarow{margin:0;gap:4px 20px}
.home-hero .ticketdemo{margin:0;width:100%;padding:16px;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.home-hero .demopanel{aspect-ratio:16/10}
.ticketdemo .eyebrow{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:12px;gap:12px}
.ticketdemo .eyebrow span:last-child{text-align:right}
.ticketdemo .rule{margin:8px 0 12px;border:0;height:1px;opacity:.3}
.demoacts button{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:14px;min-height:44px;border-radius:5px}
.demoacts{margin-top:10px}
.template-section{margin-top:42px}
.template-section h2{margin:0 0 8px}
.template-section>p{color:#c7d0ec}
.featured-occasions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.template-card{border:1px solid #52638d;border-radius:8px;background:rgba(255,255,255,.035);overflow:hidden;min-width:0}
.featured-occasions a{border:0;padding:0;min-height:0;text-decoration:none;display:block;color:inherit}
.featured-occasions .template-pick .template-art{display:flex;align-items:center;justify-content:center;position:relative;width:100%;aspect-ratio:1000/650;margin:0;padding:18px 10px;background:var(--template-field);color:#f6efe1;font:bold clamp(13px,3.5vw,19px)/1.25 Arial,sans-serif;white-space:pre-line;text-align:center}
.template-art::before{content:"";position:absolute;inset:7px;border:2px solid var(--template-accent);pointer-events:none}
.template-pick strong{display:block;padding:12px 12px 0;font-size:17px;line-height:1.25}
.featured-occasions .template-pick span{display:block;padding:6px 12px 10px;margin:0;font-size:13px;color:#d9e0f5}
.featured-occasions .template-guide{padding:10px 12px;min-height:44px;border-top:1px solid #3c4d76;font-size:13px;text-decoration:underline;text-underline-offset:3px;color:#c7d0ec}
.template-pick:hover{background:rgba(255,255,255,.08)}
.seasonal-pick{display:flex;gap:18px;align-items:center;padding:18px;border:1px solid #52638d;border-radius:8px;margin:24px 0 36px}
.seasonal-pick img{width:100px;height:auto;border-radius:4px}
.seasonal-pick h3{margin:0 0 6px;font-size:18px}
.seasonal-pick p{font-size:15px;margin:0}
.seasonal-pick a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px;font-size:14px}
.privacy-details{border-top:1px solid #52638d;border-bottom:1px solid #52638d;padding:0 16px;margin:24px 0;max-width:760px}
.privacy-details summary{cursor:pointer;padding:16px 0;font-weight:600;min-height:48px}
.privacy-details p{font-size:15px}
.home-page main>p,.home-page main>.plain,.home-page main>.faq,.home-page main>.note{max-width:760px}
.example-list{display:grid;gap:14px;margin:20px 0}
.example-list article{padding:18px;border:1px solid #52638d;border-radius:8px}
.example-list h3{margin:0 0 8px}
.example-list p:last-child{margin-bottom:0}
@media(min-width:800px){.home-hero{grid-template-columns:1.1fr 1fr;gap:40px;margin-top:42px}.featured-occasions{grid-template-columns:repeat(4,minmax(0,1fr))}.example-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){header.top{padding-top:14px}.home-hero{margin-top:18px;gap:20px}.home-hero .lede{font-size:17px;margin:12px 0 16px}.home-hero .cta{padding:13px 16px;font-size:16px}.home-hero .text-link{font-size:14px}.home-hero .microcopy{font-size:12px}.home-hero .ticketdemo{padding:14px}.home-hero .demopanel{aspect-ratio:16/9}.template-section{margin-top:32px}.seasonal-pick{align-items:flex-start;padding:14px;gap:12px}.seasonal-pick img{width:72px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.seasonal-pick>div{min-width:0;overflow-wrap:anywhere}
