@font-face{font-family:Area;src:url('assets/area.woff2') format('woff2');font-display:swap}@font-face{font-family:Area;src:url('assets/area-bold.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Tanker;src:url('assets/tanker.woff2') format('woff2');font-display:swap}
:root{--blue:#170250;--orange:#ff3a00;--paper:#fff2ee;--lilac:#cab7fa;--sand:#e9fec5;--coral:#ffae94}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--blue);font-family:Area,Arial,sans-serif;font-size:16px;line-height:1.6}button,input{font:inherit}button,a,input,label{ -webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}.header{max-width:1600px;margin:auto;padding:30px 5%;display:flex;align-items:center;gap:34px;border-bottom:1px solid #17025025}.logo{width:102px;height:44px;object-fit:contain}.header-note{font-size:13px;line-height:1.5}.season{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:13px;font-weight:700;letter-spacing:1px}.season span{color:var(--orange);font-size:36px}main{max-width:1600px;margin:auto;padding:0 5%}.intro{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:48px 0 35px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.4px}.intro h1{font:clamp(64px,8.1vw,126px)/1.03 Tanker,Impact,sans-serif;margin:14px 0 0;letter-spacing:.4px;white-space:nowrap}.intro h1 span{color:var(--orange)}.intro sup{font:52px/1 Area;display:inline-block;vertical-align:top;margin:5px 0 0 12px;color:var(--orange)}.intro-copy{padding-right:2%;font-size:16px;min-width:315px}.intro-copy p{margin:0 0 9px}.tag{font-size:13px;font-weight:700;display:inline-block;border:1px solid var(--blue);border-radius:30px;padding:5px 14px;margin-top:10px;transform:rotate(-3deg)}.choices{padding:0;margin:0;border:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gift-card{position:relative;cursor:pointer;display:flex;flex-direction:column;min-width:0;border-radius:7px;outline:2px solid transparent;outline-offset:4px;transition:transform .2s,outline-color .2s}.gift-card:hover{transform:translateY(-5px)}.gift-card:has(input:checked){outline-color:var(--blue)}.gift-card:has(input:focus-visible){outline:3px dashed var(--blue)}.gift-card input{position:absolute;opacity:0;width:1px;height:1px}.lavender{background:var(--lilac)}.sand{background:var(--sand)}.coral{background:var(--coral)}.blue{background:var(--blue);color:var(--paper)}.card-top{padding:21px 20px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;font-size:10px;letter-spacing:.6px}.radio{width:23px;height:23px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center}.gift-card input:checked~.card-top .radio:after{content:'✓';font-size:16px;font-weight:700}.gift-card input:checked~.card-top .radio{background:var(--blue);color:white}.blue input:checked~.card-top .radio{background:var(--sand);color:var(--blue)}.gift-art{height:150px;display:flex;align-items:center;justify-content:center;position:relative;font-size:64px;padding-bottom:12px}.art-word{position:absolute;font-family:Tanker,Impact,sans-serif;font-size:19px;bottom:13px;transform:rotate(-7deg);letter-spacing:1px}.sand .art-word{transform:rotate(5deg)}.blue .art-word{color:var(--sand)}.card-copy{display:flex;flex-direction:column;padding:12px 21px 22px;flex:1}.card-copy strong{font-size:clamp(19px,1.7vw,26px);line-height:1.25;letter-spacing:-.8px;margin-bottom:13px}.card-copy>span{font-size:14px;line-height:1.8}.card-bottom{margin:0 21px;padding:12px 0 16px;border-top:1px solid #17025033;display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:11px;font-weight:700}.blue .card-bottom{border-color:#fff2ee40}.card-bottom>span{font-size:21px}.submit-panel{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:31px 0 23px;margin-top:28px;border-top:1px solid #17025030}.submit-panel h2{font-size:25px;margin:7px 0}.submit-panel p{font-size:14px;margin:4px 0}.change-note{opacity:.75}.submit-action{display:flex;flex-direction:column;align-items:center;min-width:330px;gap:8px}.button{border:0;border-radius:5px;padding:16px 23px;font-weight:700;font-size:15px;min-height:54px;display:inline-flex;justify-content:center;align-items:center;gap:24px;text-decoration:none}.primary{background:var(--blue);color:var(--paper)}.button:hover{background:#301470}.button span{font-size:23px;line-height:1;color:var(--sand)}.submit-action .button{width:100%}.submit-action>span{font-size:11px}.text-button{border:0;background:transparent;color:var(--blue);font-size:13px;padding:4px 0;text-decoration:underline;text-underline-offset:4px}.test-banner{font-size:12px;padding:10px 14px;display:flex;gap:15px;border:1px dashed #17025044;margin:10px 0 20px}.notice:empty{display:none}.notice{padding:10px;background:var(--sand);font-size:14px}footer{border-top:1px solid #17025025;padding:20px 5%;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;max-width:1600px;margin:auto}.footer-star{color:var(--orange);letter-spacing:6px;font-size:24px}footer a{text-underline-offset:4px}dialog{border:0;background:var(--paper);color:var(--blue);border-radius:10px;padding:42px;max-width:500px;width:calc(100% - 30px);box-shadow:0 25px 100px #17025030}dialog::backdrop{background:#17025099;backdrop-filter:blur(5px)}dialog h2{font-size:32px;line-height:1.2;margin:18px 0}dialog p{font-size:14px}dialog .button{width:100%;margin-top:18px}.close{position:absolute;right:16px;top:9px;background:none;border:0;font-size:30px;color:var(--blue);padding:5px 10px}.field-label{display:block;font-weight:700;font-size:14px;margin-top:22px;margin-bottom:8px}.input{background:#fff;border:1px solid #17025060;border-radius:4px;width:100%;padding:14px;color:var(--blue);min-width:0}.code{font-size:26px;letter-spacing:8px;text-align:center}.test-code{background:var(--sand);padding:12px}.success-star{color:var(--orange);font-size:65px;line-height:1.2}#login-error,#admin-error{color:#9a2100;font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.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}.admin-intro{padding:44px 0 22px}.admin-intro h1{font:64px/1.1 Tanker;margin:10px 0}.admin-login{max-width:480px;padding-bottom:60px}.admin-login .button{margin-top:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.stat{background:var(--lilac);padding:20px;border-radius:6px}.stat strong{display:block;font:40px Tanker}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}.table-wrap{overflow:auto;margin-bottom:45px}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:16px 12px;border-bottom:1px solid #17025025;white-space:nowrap}th{background:#ffe6dd}#empty{padding:50px;background:#ffe6dd;text-align:center;margin-bottom:40px}.admin-search{max-width:320px}.empty-copy{font-size:14px}.admin-top-actions{display:flex;gap:20px;align-items:center}.admin-footnote{font-size:13px;margin-bottom:30px}
@media(min-width:1550px){.gift-art{height:185px}.card-copy>span{font-size:16px}.card-bottom{font-size:13px}.card-top{font-size:12px}}
@media(max-width:1100px){.intro h1{font-size:78px}.intro sup{font-size:32px}.intro-copy{min-width:280px;font-size:14px}.card-top{padding:17px 13px 0;font-size:9px;letter-spacing:0}.card-copy{padding:12px 14px 20px}.card-copy strong{font-size:20px}.card-copy>span{font-size:13px}.card-bottom{margin:0 14px;font-size:10px}.choices{gap:13px}.gift-art{height:130px;font-size:57px}.art-word{font-size:16px}}
@media(max-width:820px){.header{padding:21px 5%}.header-note{display:none}.intro{padding:30px 0;align-items:flex-start;gap:20px}.intro h1{font-size:67px;white-space:normal}.intro sup{display:none}.eyebrow{font-size:10px}.intro-copy{min-width:0;max-width:245px}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card-top{font-size:11px;padding:20px 20px 0}.card-copy{padding:15px 20px 20px}.card-copy strong{font-size:23px}.card-copy>span{font-size:14px}.card-bottom{font-size:11px;margin:0 20px}.gift-art{height:140px;font-size:62px}.submit-panel{align-items:flex-start}.submit-action{min-width:260px}.submit-panel h2{font-size:21px}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.season{font-size:10px;gap:12px}.season span{font-size:28px}.logo{width:81px;height:35px}.intro{display:block;padding:26px 0 30px}.intro h1{font-size:76px;margin-top:11px;white-space:nowrap}.intro-copy{max-width:none;margin-top:15px;font-size:14px}.intro-copy p{display:inline}.intro-copy p+p{display:block;margin-top:3px}.desktop{display:none}.tag{margin-top:12px;font-size:11px}.choices{gap:17px 12px}.card-top{font-size:9px;padding:14px 12px 0;align-items:flex-start}.radio{width:20px;height:20px;margin-left:1px}.gift-art{height:120px;font-size:50px}.art-word{font-size:15px}.card-copy{padding:12px 13px 14px}.card-copy strong{font-size:20px;letter-spacing:-.7px}.card-copy>span{font-size:12px;line-height:1.7}.card-bottom{font-size:9px;line-height:1.5;margin:0 13px}.card-bottom>span{font-size:19px}.submit-panel{display:block;padding-top:25px}.submit-action{margin-top:23px;min-width:0}.submit-action>span{font-size:11px}.test-banner{display:block;font-size:11px}.test-banner b{display:block}footer{flex-wrap:wrap;font-size:11px}.footer-star{display:none}dialog{padding:34px 24px}dialog h2{font-size:27px}.admin-intro h1{font-size:48px}.admin-toolbar{align-items:stretch;flex-direction:column}.admin-search{max-width:none}.header .admin-top-actions{font-size:12px;gap:12px}.header .admin-top-actions .text-button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Readable copy at small screen sizes and browser text enlargement. */
.card-copy>span,.submit-panel p{font-size:16px}.card-copy strong{overflow-wrap:normal}.submit-action>span{font-size:12px}
@media(max-width:560px){.intro h1{font-size:clamp(50px,17vw,76px)}.card-copy>span{font-size:14px}.card-top{font-size:10px}.card-bottom{font-size:11px}.intro-copy{font-size:16px}.submit-panel p{font-size:16px}}
@media(max-width:360px){.choices{grid-template-columns:1fr}.card-copy>span{font-size:16px}.gift-art{height:130px}.card-top{font-size:12px}.card-copy strong{font-size:25px}}
