/* Shared holiday theme for all participant-facing pages. */
.festive-home{background-color:#fcf4e5;background-image:radial-gradient(circle at 8% 23%,#e8bc5a22 0,transparent 28%),radial-gradient(circle at 95% 60%,#b9433920 0,transparent 30%),radial-gradient(#d9ba7838 1px,transparent 1px);background-size:auto,auto,26px 26px;color:#243d32}
.festive-home .header{background:#174b3e;border-bottom:4px solid #d7ab50;color:#fff8e7}
.festive-home .brand,.festive-home .header nav a{color:#fff8e7}.festive-home .brand small{color:#e3cda1}.festive-home .brand-mark{color:#f1ca72}.festive-home .nav-panel{border-color:#dcc083;background:#ffffff0d}
.festive-home .public-main{max-width:1400px;margin:auto}.festive-home .submission-layout{gap:35px;align-items:start}
.festive-home .intro{padding:32px;border:1px solid #d3b369;border-radius:24px;background:linear-gradient(150deg,#195443,#103b35);box-shadow:0 15px 40px #123f381a;color:#fff7e8;overflow:hidden}
.festive-home .intro .eyebrow{color:#f4d38e;line-height:1.8}.festive-home .intro h1{font-size:clamp(40px,4.5vw,65px);line-height:1.06;letter-spacing:-1.8px;color:#fff9ed}.festive-home .intro h1 em{color:#f5ca70}.festive-home .intro>p{color:#eee5cd}.festive-home .intro .muted{color:#e0dac7}.festive-home .intro-details p{color:#f7dfaa}.festive-home .intro .status.accepted{background:#f7d98f;color:#294b36;border:1px solid #ffeac3}
.festive-home .holiday-scene{display:block;width:100%;height:auto;margin:24px 0 10px;border:1px solid #6a897150;border-radius:16px}.festive-home .scene-caption{font-style:italic;text-align:center;color:#f2d6a0;font-size:13px;margin-bottom:25px}
.festive-home .steps{border-top:1px solid #d0bb7744;padding-top:22px}.festive-home .steps li{color:#fff4de}.festive-home .steps li span{color:#f4cd79;border-color:#bca265}
.festive-home .form-card{position:relative;border:1px solid #e5d3af;border-top:6px solid #aa393b;border-radius:22px;background:#fffdf8;box-shadow:0 16px 45px #79583112}.festive-home .form-card .eyebrow{color:#a3353c}.festive-home .form-card h2{color:#244f3c}.festive-home .paper-icon{background:#f9eed5;color:#a23739;border-radius:50%;padding:8px 13px}.festive-home .form-card legend{color:#244f3c}.festive-home .form-card legend span{background:#ab393c;color:white;border-radius:8px;border:0;padding:5px 8px}.festive-home .form-card fieldset:nth-of-type(even) legend span{background:#28674e}.festive-home .form-card input:not([type=checkbox]),.festive-home .form-card select,.festive-home .form-card textarea{background:#fffdf7;border-color:#d6ccb5}.festive-home .form-card input:focus,.festive-home .form-card select:focus,.festive-home .form-card textarea:focus{border-color:#2a7055;box-shadow:0 0 0 3px #2a70551a;outline:2px solid transparent}
.festive-home .attachment-card{border-color:#dbc99f;background:#fffbef}.festive-home .upload-zone{border-color:#c5a76a;background:#fffaf0}.festive-home .upload-symbol{color:#ab393c;background:#fae8dc}.festive-home .attachment-ready{background:#eff7e9;border-color:#7da26d}.festive-home .attachment-error{background:#fff0e9;border-color:#bd6655}
.festive-home .button.primary{background:#a8313c;border-color:#a8313c;color:white}.festive-home .button.primary:hover{background:#892932}.festive-home .button.secondary{background:#fff9ed;border-color:#cab17b;color:#25573f}.festive-home .submit-button{box-shadow:0 5px 15px #a8313c22}.festive-home .required{color:#a8313c}
.festive-home .recruitment-card{border-radius:24px;border:1px solid #deca9d;border-top:6px solid #a8313c;background:#fffdf6;box-shadow:0 18px 50px #725b2212}.festive-home .recruitment-card .holiday-scene{max-width:410px;margin:0 auto 28px}.festive-home .recruitment-star{display:none}.festive-home .recruitment-card h1{color:#245740}.festive-home .recruitment-card .eyebrow{color:#a8313c}.festive-home .countdown>div{background:#1e5644;border-color:#2c6853;color:#fff4d9}.festive-home .countdown strong{color:#f6d487}.festive-home .countdown span{color:#f9ecce}.festive-home footer{background:#174b3e;border-top:3px solid #d7ab50}.festive-home footer,.festive-home footer a,.festive-home footer>span:first-child{color:#f2e5c5}
@media(max-width:900px){.festive-home .intro{padding:26px}.festive-home .intro h1{font-size:48px}.festive-home .intro h1 br{display:none}.festive-home .intro .holiday-scene{max-width:380px;margin:22px auto 0}.festive-home .scene-caption{margin:10px 0}.festive-home .submission-layout{gap:24px}}
@media(max-width:650px){.festive-home .intro{padding:24px 20px;border-radius:18px}.festive-home .intro h1{font-size:40px}.festive-home .form-card{padding:25px 20px;border-radius:18px}.festive-home .section-heading h2{font-size:26px}.festive-home .recruitment-card{padding:26px 20px}.festive-home .intro-details p{display:block;margin:16px 0 0}.festive-home .header nav a{font-size:11px}}
@media print{.festive-home{background:white}.festive-home .intro{background:white;color:black;box-shadow:none}.festive-home .holiday-scene{display:none}}
.festive-home .intro>p strong,.festive-home .intro-details strong{color:#fff1c8}

/* Regulations, sign-in and submission confirmation share the form's palette. */
.festive-public{--green:#245740;--gold:#97621c;--muted:#626958;--line:#e5d3af;--red:#a8313c;min-height:100vh;display:flex;flex-direction:column}
.festive-public .public-main{width:100%;flex:1}.festive-public footer{width:100%;margin-top:auto}
.festive-public .auth-card,.festive-public .prose,.festive-public .receipt{background:#fffdf8;border:1px solid #e5d3af;border-top:6px solid #aa393b;border-radius:22px;box-shadow:0 16px 45px #79583112}
.festive-public .auth-card h2,.festive-public .prose h1,.festive-public .prose h2,.festive-public .prose h3,.festive-public .receipt h1{color:#245740}
.festive-public .auth-card .eyebrow,.festive-public .prose .eyebrow,.festive-public .receipt .eyebrow{color:#a3353c;line-height:1.8}
.festive-public .auth-layout{gap:35px;align-items:start}
.festive-public .auth-intro{padding:32px;border:1px solid #d3b369;border-radius:24px;background:linear-gradient(150deg,#195443,#103b35);box-shadow:0 15px 40px #123f381a;color:#fff7e8}
.festive-public .auth-intro h1{color:#fff9ed;font-size:clamp(36px,4vw,56px)}.festive-public .auth-intro h1 em{color:#f5ca70}.festive-public .auth-intro p{color:#eee5cd}.festive-public .auth-intro .eyebrow,.festive-public .auth-intro .large-star{color:#f4d38e}
.festive-public .auth-card input{background:#fffdf7;border-color:#b5ad98}.festive-public .auth-card input:focus{border-color:#2a7055;outline:2px solid #2a7055;outline-offset:2px}
.festive-public .public-main a:focus-visible,.festive-public .public-main button:focus-visible{outline:3px solid #245740;outline-offset:4px}.festive-public .header a:focus-visible,.festive-public footer a:focus-visible{outline:3px solid #f5ca70;outline-offset:4px}
.festive-public .prose{max-width:900px}.festive-public .document-text{line-height:1.85;overflow-wrap:anywhere;color:#34463b}.festive-public .prose hr{border:0;border-top:1px solid #e5d3af;margin:32px 0}.festive-public .prose h2[id]{scroll-margin-top:24px}
.festive-public .receipt-check{background:#e8f2e2;color:#245740;border:1px solid #a7bf91}.festive-public .receipt-code{background:#1e5644;color:#fff4d9;border:1px solid #d7ab50;border-radius:16px}.festive-public .receipt-code strong{color:#f6d487;overflow-wrap:anywhere}.festive-public .receipt-code span,.festive-public .receipt-code small{color:#f9ecce}
.festive-public .alert.info{background:#fff7e3;border-color:#c9ac67;color:#514322}.festive-public .alert.error{background:#fff0ec;border-color:#bf7169;color:#862b30}.festive-public .alert.success{background:#edf6e7;border-color:#8aaa76;color:#24513a}
@media(max-width:650px){.festive-public .auth-intro{padding:24px 20px;border-radius:18px}.festive-public .auth-layout{gap:24px}.festive-public .auth-card,.festive-public .prose,.festive-public .receipt{padding:26px 20px;border-radius:18px}.festive-public .prose h1{font-size:32px}}
@media print{.festive-public{display:block;background:white;color:black}.festive-public .public-main{max-width:none}.festive-public .receipt,.festive-public .prose{background:white;box-shadow:none;border:0;border-radius:0}.festive-public .receipt-code{background:white;color:black;border:1px solid #666}.festive-public .receipt-code strong,.festive-public .receipt-code span,.festive-public .receipt-code small{color:black}}
