/* Mantle event components: local fonts, generous touch targets, print support. */
.me-app{--cream:#fff8ec;--paper:#fffdf8;--ink:#153e32;--red:#c91422;--mint:#a5cbbd;--muted:#59695e;background:var(--cream);color:var(--ink);font:17px/1.6 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;margin:0}.me-app *{box-sizing:border-box}.me-app a{color:inherit;text-underline-offset:4px}.me-app button,.me-app input,.me-app textarea,.me-app select{font:inherit}.me-app button,.me-app summary{cursor:pointer}.me-app h1,.me-app h2,.me-app h3,.me-app p{margin:0 0 1rem}.me-app h1,.me-app h2,.me-app h3{line-height:1.08;letter-spacing:-.04em}.me-app h1{font-size:clamp(2.7rem,5.5vw,5.8rem);font-weight:850}.me-app h2{font-size:clamp(2rem,3.4vw,3.5rem)}.me-app h3{font-size:1.35rem}.me-app main{max-width:1400px;margin:auto}.site-header{max-width:1400px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:24px 5%;gap:20px}.wordmark{text-decoration:none;font-size:1.5rem;font-weight:900;letter-spacing:-.045em}.wordmark span{font-weight:450}.site-header>a:last-child{font-weight:650;font-size:.95rem}.skip{position:fixed;left:12px;top:-100px;background:#fff;padding:12px;z-index:30}.skip:focus{top:12px}.hero-art{display:block;width:100%;height:auto;aspect-ratio:1733/907;object-fit:contain;background:#fff4df}.hero{margin:0 2%;border-radius:24px;overflow:hidden;background:var(--paper);box-shadow:0 12px 50px #00432b0b}.hero-copy{padding:50px 6%;max-width:1000px}.hero-copy h1{max-width:850px}.eyebrow{font-size:.76rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:15px!important}.lead{font-size:1.4rem}.event-facts{display:grid;gap:4px;font-size:1.05rem;margin:26px 0}.event-facts strong{font-size:1.25rem}.free-pill{font-weight:800;display:inline-block;background:#e5f1e8;border-radius:30px;padding:8px 17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 22px;border:2px solid var(--ink);background:var(--ink);color:#fff!important;border-radius:10px;text-decoration:none;font-weight:750;line-height:1.3;text-align:center}.button:hover{background:#285b47}.button.secondary{background:transparent;color:var(--ink)!important}.subtle{color:var(--muted);font-size:.86rem;line-height:1.5;margin-top:12px!important}.intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:90px 8%;align-items:center}.panel{background:var(--paper);border:1px solid #dce4d8;border-radius:20px;padding:32px}.form-panel{margin:0 5%;display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;padding:50px}.note{border-left:3px solid var(--mint);background:#eef4eb;padding:18px;font-size:.9rem;margin-top:25px}.field{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;font-size:.95rem;font-weight:650}.field span small{font-size:.7rem;font-weight:450;color:var(--muted)}.field input,.field textarea,.field select{width:100%;min-width:0;border:1px solid #aebdb0;border-radius:8px;background:#fff;padding:12px;color:var(--ink);min-height:48px}.field textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choice{display:flex;align-items:flex-start;gap:12px;margin:15px 0;font-size:.9rem;line-height:1.5}.choice input{width:20px;height:20px;min-width:20px;margin:2px 0 0;accent-color:var(--ink)}.me-app fieldset{border:0;padding:15px 0;margin:0}.me-app legend{font-weight:800}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.how{padding:85px 8%}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.steps article{border-top:2px solid var(--mint);padding-top:22px}.steps b{color:var(--red);font-size:.9rem}.steps h3{margin-top:18px}.steps p{color:var(--muted);font-size:.95rem}.site-footer{max-width:1400px;margin:auto;padding:35px 5%;font-size:.8rem;color:var(--muted);text-align:center;border-top:1px solid #dbe2d2}.portal-intro{padding:60px 6% 40px;text-align:center}.portal-intro h1{font-size:clamp(2.6rem,5vw,5rem)}.login-panel{max-width:610px;margin:10px auto 70px}.login-panel h2{font-size:2rem}.code-login input{letter-spacing:.09em;font-family:ui-monospace,monospace;text-transform:uppercase}.code-login .button{width:100%}.gallery-wrap{padding:20px 6% 65px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-heading h2{font-size:2.3rem}.text-button{border:0;background:transparent;padding:10px 0;font-weight:700;text-decoration:underline;text-underline-offset:4px;color:var(--ink);min-height:44px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-card{border:1px solid #dce4d8;border-radius:15px;background:var(--paper);overflow:hidden}.photo-card>img{display:block;width:100%;height:270px;object-fit:contain;background:#e8ecdf}.photo-card-body{padding:20px}.photo-card .button{width:100%}.photo-card .text-button{display:block;margin-top:9px}.share-panel{margin:0 5% 45px;background:#e6eee2;border-radius:22px;padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:8%}.share-panel h2{max-width:430px}.social-links{display:flex;flex-wrap:wrap;gap:18px;font-size:.85rem;font-weight:700}.copy-status{font-weight:750;font-size:.9rem;min-height:1.5em}.preferences{max-width:850px;margin:0 auto 50px}.preferences summary{font-weight:750}.preferences form{margin-top:25px}.pass-intro{text-align:center;padding:45px 6% 20px}.pass-intro h1{font-size:3.3rem}.family-pass{max-width:620px;margin:15px auto;background:var(--paper);border:3px solid var(--ink);border-radius:25px;padding:35px;text-align:center;box-shadow:0 8px 40px #00432b0c}.family-pass h2{font-size:2.1rem}.qr{width:180px;margin:25px auto;background:#fff;padding:10px;line-height:0}.qr svg{width:100%;height:auto}.pass-code{font:750 clamp(.9rem,2.3vw,1.25rem)/1.6 ui-monospace,monospace;letter-spacing:.02em;overflow-wrap:anywhere}.pass-address{font-size:.9rem;font-weight:750;overflow-wrap:anywhere}.actions{display:flex;justify-content:center;gap:15px;margin:25px}.center{text-align:center;padding:0 5%}.empty{margin:25px 0}.error{max-width:650px;margin:70px auto}.error h1{font-size:2rem}.theme-community{--red:#22695e;--cream:#f2f5ee}.keepsake-dialog{max-width:600px;width:95%;border:0;border-radius:22px;background:var(--cream);padding:25px;color:var(--ink)}.keepsake-dialog::backdrop{background:#08271cbb}.keepsake-dialog canvas{display:block;width:auto;max-width:100%;max-height:55vh;margin:15px auto}.keepsake-dialog .actions{margin-bottom:0}.me-app :focus-visible{outline:3px solid #bf4c00;outline-offset:4px}
@media(min-width:1100px){.hero-copy{padding-top:40px;padding-bottom:40px}.hero-copy h1{font-size:4.6rem}.hero-copy .event-facts{display:grid;grid-template-columns:1fr 1fr;max-width:900px}}
@media(max-width:800px){.site-header{padding:18px 5%}.wordmark{font-size:1.25rem}.site-header>a:last-child{font-size:.85rem}.hero{margin:0 3%;border-radius:16px}.hero-copy{padding:30px 7%}.intro,.form-panel,.share-panel{grid-template-columns:1fr;gap:24px}.intro{padding:50px 7%}.form-panel{margin:0 4%;padding:28px 6%}.steps{grid-template-columns:1fr;gap:12px}.how{padding:50px 7%}.steps article{padding-top:15px}.steps h3{margin-top:8px}.login-panel{margin:0 5% 45px;padding:25px}.portal-intro{padding:40px 6% 25px}.portal-intro h1{font-size:2.8rem}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.share-panel{padding:30px 7%;margin:0 4% 30px}.family-pass{margin:15px 5%;padding:25px 18px}.family-pass h2{font-size:1.7rem}.preferences{margin:0 5% 40px}.actions{flex-wrap:wrap}.pass-intro h1{font-size:2.6rem}.error{margin:30px 5%}}
@media(max-width:500px){.photo-grid{grid-template-columns:1fr}.section-heading h2{font-size:1.8rem}.hero-copy h1{font-size:2.7rem}.free-pill{font-size:.85rem}.lead{font-size:1.15rem}}
@media print{.me-app{background:#fff;font-size:12pt}.site-header,.site-footer,.pass-intro,.actions,.center,.skip{display:none!important}.family-pass{box-shadow:none;break-inside:avoid;max-width:5.8in;margin:.3in auto!important;border:2px solid #153e32;padding:.25in}.family-pass .qr{width:1.7in}.family-pass h2{font-size:23pt}.family-pass .pass-code{font-size:14pt}.family-pass .eyebrow{color:#000}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.santa-status{font-weight:750;font-size:.9rem;min-height:1.5em}.santa-panel{max-width:850px;margin:0 auto 50px}.santa-panel details{margin:10px 0 18px}.santa-panel summary{font-weight:750;margin-bottom:12px}.santa-kid{display:grid;grid-template-columns:2fr 1fr 3fr;gap:16px}@media(max-width:640px){.santa-kid{grid-template-columns:1fr}}@media print{.santa-panel{display:none!important}}
.code-words{border:0;margin:0 0 14px;padding:0;min-width:0}.code-words legend{font-weight:750;margin-bottom:8px;padding:0}.code-boxes{display:flex;gap:8px;align-items:flex-end}.code-word{display:flex;flex-direction:column;flex:1 1 0;min-width:0;gap:4px;margin:0}.code-word span{font-size:.85rem;color:var(--muted);font-weight:650}.code-word input{width:100%;min-height:54px;font-size:1.15rem;text-align:center;text-transform:lowercase;padding:8px 6px;border:2px solid var(--mint);border-radius:12px;background:#fff;color:var(--ink)}.code-dash{padding-bottom:16px;font-weight:700;color:var(--muted)}.older-code{margin:6px 0 18px}.older-code summary{cursor:pointer;font-size:.9rem;color:var(--muted)}.santa-kid[hidden],.santa-add[hidden]{display:none}.santa-add{margin:6px 0 18px}@media(max-width:420px){.code-boxes{gap:4px}.code-word input{font-size:1rem;padding:8px 4px}}
