:root{--ink:#263f39;--paper:#f6f4ed;--green:#214f43;--lime:#dfe9b1;--line:#dce0d4;--muted:#69796f;--coral:#dc765d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}button,input{font:inherit}a{color:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}header{max-width:1320px;margin:auto;padding:28px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-size:11px;letter-spacing:1.2px;line-height:1.6;font-weight:700}.brandmark{background:var(--green);color:var(--lime);width:46px;height:46px;display:grid;place-items:center;font-size:35px;border-radius:50%}.toplink{font-size:13px;text-decoration:none;border-bottom:1px solid;padding:5px 0}.hero{max-width:1320px;padding:72px 5% 64px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(60px,7vw,104px);font-weight:400;line-height:1.01;letter-spacing:-4px;margin:0 0 24px}h1 em{font-weight:400;color:var(--coral)}h2{font-family:Georgia,serif;font-size:40px;line-height:1.15;font-weight:400;letter-spacing:-1px}h3{font-size:28px;font-family:Georgia,serif;font-weight:400;margin-bottom:12px}.tagline{font-size:14px;font-weight:700}.lead{max-width:390px;font-size:15px;color:var(--muted);margin-bottom:28px}.button{border:0;background:var(--green);color:#fff;padding:14px 22px;min-height:50px;border-radius:6px;display:inline-flex;align-items:center;gap:30px;text-decoration:none;font-size:14px;font-weight:600}.button:hover{background:#143e32}.eventmeta{margin-top:42px;display:flex;gap:28px;border-top:1px solid var(--line);padding-top:20px}.eventmeta div{display:flex;flex-direction:column}.eventmeta small{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.eventmeta strong{font-size:13px}.eventmeta span{font-size:11px;color:var(--muted)}.art{height:510px;position:relative;background:#e3e9d5;border-radius:220px 220px 10px 10px;overflow:hidden}.arch{position:absolute;border-radius:180px 180px 0 0;width:260px;height:380px;border:34px solid var(--green);border-bottom:0;left:65px;bottom:-35px;transform:rotate(-17deg)}.arch2{left:210px;bottom:-55px;border-color:#c2cf97;transform:rotate(20deg);width:190px;height:310px}.sun{width:95px;height:95px;border-radius:50%;background:var(--coral);position:absolute;right:70px;top:75px}.spark{position:absolute;left:60px;top:75px;font-size:64px;color:var(--green)}.artlabel{position:absolute;left:35px;bottom:30px;font:italic 23px/1.3 Georgia;color:#fff;z-index:2}.artcircle{position:absolute;right:30px;bottom:60px;border-radius:50%;background:#f7f2e2;width:135px;height:135px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:28px Georgia;transform:rotate(10deg)}.artcircle i{font-size:18px}.dots{position:absolute;right:30px;top:200px;font-size:30px;letter-spacing:5px;line-height:.7}.intro{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1190px;margin:0 auto 80px;padding:50px 0;display:grid;grid-template-columns:1fr 1.3fr;column-gap:80px}.intro>.eyebrow{grid-column:1/-1}.intro div{font-size:14px;color:#53675c}.intro div p:last-child{margin:0}.registration{max-width:1190px;margin:0 auto 90px;display:grid;grid-template-columns:330px 1fr;gap:60px;align-items:start}.registration aside{position:sticky;top:35px}.registration aside>p:not(.eyebrow){font-size:14px;color:var(--muted)}.steps{list-style:none;padding:10px 0;margin:30px 0}.steps li{display:flex;gap:16px;align-items:center;padding:14px 0;color:#7d887d;font-size:14px}.steps li span{border:1px solid #bec9b6;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:11px}.steps .active{color:var(--green);font-weight:700}.steps .active span{background:var(--green);color:white;border-color:var(--green)}.privacy{display:flex;align-items:start;gap:15px;border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:var(--muted)}.privacy>span{font-size:30px}.formcard{background:#fff;padding:34px 38px;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 40px #173a2010}.notice{background:#f3f5ed;border-radius:7px;padding:16px 20px;font-size:12px;margin-bottom:35px;color:#586b5c}.notice summary{font-weight:700;font-size:14px;cursor:pointer;color:var(--ink)}.notice ol{padding-left:18px;margin-bottom:0}.notice li{margin:10px 0}.muted{color:var(--muted);font-size:14px}.small{font-size:12px}.field{display:block;font-size:14px;font-weight:600;margin:25px 0}.field input{display:block;width:100%;height:49px;border:1px solid #cdd6cb;border-radius:5px;margin-top:8px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:400}.field small{font-weight:400;color:var(--muted);display:block;margin-top:7px;font-size:12px}input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #cc945b;outline-offset:3px}b{color:#b25a44}fieldset{padding:0;border:0;margin:27px 0;min-width:0}legend{font-size:14px;font-weight:600;margin-bottom:12px;line-height:1.5}.choices{display:flex;gap:9px;flex-wrap:wrap}.choice{display:flex;align-items:center;gap:9px;border:1px solid #d9dfd4;padding:12px;border-radius:5px;font-size:13px;cursor:pointer;background:#fff}.choice:has(input:checked){border-color:var(--green);background:#eff4e6;box-shadow:0 0 0 1px var(--green)}.choice input{margin:0;accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.grades .choice{flex:1 0 29%}.compact .choice{min-width:65px;justify-content:center}.activity-group{margin:22px 0}.day-title{font-size:16px;display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--line)}.day-title span{font-size:11px;color:var(--muted);font-weight:400}.activity{align-items:flex-start;margin:10px 0;padding:14px}.activity input{margin-top:4px}.activity .time{font-size:11px;color:var(--muted);display:block;letter-spacing:.2px}.activity strong{display:block;font-size:13px;font-weight:500}.activity small{font-size:11px;display:block;color:var(--muted);margin-top:4px;line-height:1.5}.declaration{font-size:13px;color:#53655a;line-height:1.8}.consent{align-items:flex-start;padding:16px}.consent input{margin-top:4px}.formnav{border-top:1px solid var(--line);margin-top:30px;padding-top:24px;display:flex;align-items:center;gap:15px}.formnav>span{font-size:11px;color:var(--muted);margin-right:auto}.secondary{border:1px solid var(--line);background:#fff;border-radius:5px;padding:12px;font-size:13px}.error{color:#a33322;background:#fff3ef;padding:12px;border-radius:5px;font-size:13px}.honeypot{position:absolute;left:-10000px;opacity:0}.reviewrow{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.reviewrow span{display:block;color:var(--muted);font-size:11px}.reviewrow strong{font-weight:500}.reviewrow ul{padding-left:18px}.textbutton{border:0;background:none;color:var(--green);text-decoration:underline;padding:14px 0}.success-icon{background:var(--lime);border-radius:50%;width:65px;height:65px;display:grid;place-items:center;font-size:28px;margin-bottom:25px}#success{padding:30px 0}#success code{overflow-wrap:anywhere;display:block;font-size:16px;background:#f3f5ed;padding:16px;margin-bottom:22px}footer{border-top:1px solid var(--line);padding:28px 5%;display:flex;gap:20px;justify-content:space-between;font-size:11px;color:var(--muted)}.admin{max-width:1200px;margin:50px auto;padding:0 5%}.adminbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line);vertical-align:top;min-width:150px}th{background:#eaf0e1}td small{display:block;color:var(--muted);overflow-wrap:anywhere;max-width:260px;margin-top:6px}.empty{padding:50px;background:white;border:1px solid var(--line);text-align:center;border-radius:8px}.status{padding:15px;border-radius:6px;background:#fff1da;font-size:13px;margin-bottom:20px}.admin-login{max-width:430px}.pagination{margin-top:20px;display:flex;gap:20px;align-items:center}.page-error input:invalid{border-color:#b25a44}
@media(max-width:1050px){.hero{gap:35px;padding-top:50px}.art{height:450px}.intro,.registration{margin-left:5%;margin-right:5%}.registration{grid-template-columns:260px 1fr;gap:30px}.formcard{padding:28px}.art .arch1{left:25px}.eventmeta{flex-direction:column;gap:12px}.intro{column-gap:30px}}
@media(max-width:720px){header{padding:18px 6%}.brand{font-size:9px;gap:9px;letter-spacing:.6px}.brandmark{width:37px;height:37px;font-size:29px}.toplink{font-size:11px}.hero{display:block;padding:38px 6%}.hero h1{font-size:70px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.lead{max-width:450px}.art{height:250px;margin-top:35px;border-radius:150px 150px 8px 8px}.art .arch1{height:260px;left:20%;bottom:-75px;width:200px;border-width:26px}.art .arch2{height:220px;left:55%;bottom:-95px;border-width:25px}.sun{width:65px;height:65px;top:24px;right:24%}.spark{font-size:46px;top:25px;left:18%}.artlabel{font-size:18px;bottom:20px}.artcircle{width:90px;height:90px;bottom:18px;font-size:22px}.artcircle i{font-size:14px}.dots{top:100px;font-size:22px;right:25px}.eventmeta{flex-direction:row;margin-top:25px;gap:18px}.eventmeta strong{font-size:12px}.eventmeta span{font-size:10px}.intro{display:block;padding:32px 0;margin-bottom:40px}.intro h2{font-size:34px;margin-bottom:20px}.registration{display:block;margin-bottom:45px}.registration aside{position:static}.registration aside h2{font-size:34px}.steps{display:flex;justify-content:space-between;margin:15px 0 20px;padding:0;gap:10px}.steps li{font-size:10px;gap:6px;align-items:center}.steps li span{height:26px;width:26px;font-size:9px}.privacy{display:none}.formcard{padding:22px 18px}.formcard .eyebrow{font-size:9px;letter-spacing:1px}.notice{padding:13px 15px}.field input{font-size:16px}.choice{min-height:46px}.formnav{gap:8px}.formnav .button{padding:13px 15px;font-size:12px}.day-title{display:block}.day-title span{display:block}footer{flex-direction:column;gap:7px;padding:22px 6%}.adminbar{align-items:start;flex-direction:column}.admin h1{font-size:42px;letter-spacing:-1px}}
@media print{header,.hero,.intro,aside,footer,.notice,form,#config-message,#print{display:none!important}.registration{display:block;margin:0}.formcard{box-shadow:none;border:0}.adminbar button,.admin-login{display:none}}
/* Poster-inspired paper collage design */
:root{--ink:#2f2826;--paper:#faf6ef;--green:#b8142e;--lime:#f8c4cc;--line:#e8d6cc;--muted:#7b6965;--coral:#d11c38}body{background-color:var(--paper);background-image:radial-gradient(#b8875520 .65px,transparent .65px);background-size:7px 7px}header{border-bottom:1px dashed #dbb8af}.brandmark{background:#c81734;color:#fff1f0;border-radius:43% 46% 44% 47%;transform:rotate(-7deg);font-size:25px;box-shadow:2px 3px 0 #e9bec0}.brand{letter-spacing:.7px}.toplink{color:#ac1430}.hero{gap:38px;padding-top:58px;padding-bottom:60px;grid-template-columns:1.05fr 1fr}.hero .eyebrow{color:#b5142c;letter-spacing:1.6px;font-size:11px;font-weight:800}.hero h1{font-family:'Trebuchet MS',Arial,sans-serif;font-weight:900;font-size:clamp(59px,6.5vw,92px);line-height:1.01;letter-spacing:-4px;transform:rotate(-2deg);margin-bottom:24px}.hero h1 .withword{font-size:.65em;letter-spacing:-3px}.hero h1 em{position:relative;display:inline-block;background:#c61430;color:#fff9f4;padding:0 12px 10px;font-family:Georgia,serif;font-weight:bold;font-style:italic;transform:rotate(2deg);clip-path:polygon(3% 8%,16% 3%,28% 6%,40% 1%,54% 5%,67% 0,79% 6%,92% 3%,99% 13%,96% 30%,100% 48%,98% 65%,100% 83%,94% 96%,79% 93%,65% 100%,50% 96%,36% 100%,20% 95%,5% 98%,0 82%,3% 66%,0 45%,3% 27%)}.paper-strip{background:#f8d2d5;padding:10px 14px;color:#8d142c;transform:rotate(-1deg);font-weight:700;display:inline-block;clip-path:polygon(0 5%,7% 0,17% 4%,29% 0,40% 5%,53% 0,66% 4%,80% 0,95% 3%,100% 0,99% 95%,89% 100%,76% 96%,61% 100%,48% 95%,32% 100%,18% 96%,4% 100%)}.tagline{font-size:13px;line-height:1.8;letter-spacing:-.2px;margin-bottom:22px}.lead{font-size:15px;color:#695a55}.button{background:#be1733;box-shadow:2px 3px 0 #e9b6b7;border-radius:5px 9px 5px 8px;transition:transform .15s,background .15s}.button:hover{background:#9e132a;transform:translateY(-1px)}.posterart{position:relative;transform:rotate(2deg);margin:10px -10px 0 0;padding:10px;background:#fff9f0;box-shadow:1px 8px 20px #7540271a}.posterart:before,.posterart:after{content:'';position:absolute;z-index:2;width:105px;height:29px;background-color:#efa6b0b8;background-image:repeating-linear-gradient(90deg,#fff8 0 8px,transparent 8px 16px),repeating-linear-gradient(0deg,#fff7 0 7px,transparent 7px 14px);transform:rotate(-17deg);left:-12px;top:-4px;opacity:.85}.posterart:after{left:auto;top:auto;right:-15px;bottom:-2px;transform:rotate(-28deg);background-color:#aeba9bba}.posterart img{width:100%;height:420px;object-fit:cover;display:block}.artnote{position:absolute;right:25px;bottom:28px;background:#fff5e6e8;padding:12px 20px;color:#922339;font:italic 19px/1.35 Georgia;transform:rotate(-4deg);box-shadow:1px 2px 4px #724a3420}.eventmeta{border-top:1px dashed #dbb8af;margin-top:30px}.eventmeta small{color:#b21d38}.intro{border-color:#ddc1b6;border-top-style:dashed;border-bottom-style:dashed;position:relative}.intro:before{content:'♥';position:absolute;color:#da6b80;font-size:36px;left:22%;top:7px;transform:rotate(20deg)}.intro h2{font-family:Georgia,serif;font-size:40px;line-height:1.25}.intro div{color:#645751}.intro .eyebrow{color:#a91b33}.registration aside h2{font-size:46px;font-weight:400}.registration aside h2 em{color:#b8142e}.form-title{font-size:14px!important;line-height:1.6;font-weight:700;color:#8b2638!important}.steps li span{border-color:#e4b7b9}.steps .active span{background:#be1733;border-color:#be1733}.privacy{border-top-style:dashed;color:#85716b}.privacy>span{color:#c81d3b}.formcard{position:relative;border:1px solid #e9dbce;border-radius:4px 8px 5px 9px;background:#fffdf8;box-shadow:4px 6px 0 #e8dacf88,0 12px 35px #7540270c}.formcard:before{content:'';position:absolute;width:100px;height:26px;top:-13px;left:calc(50% - 50px);transform:rotate(-3deg);background:repeating-linear-gradient(90deg,#e9a4ad9e 0 8px,#f9e2de9e 8px 16px);box-shadow:0 1px 2px #bca69733}.notice{background:#fbeaec;color:#745457;border-radius:3px 7px 4px 8px;border-left:3px solid #de8a98}.notice summary{color:#9b243a}.formcard h3{font-family:'Trebuchet MS',Arial,sans-serif;font-weight:700;font-size:28px;color:#ad1a34;letter-spacing:-.7px}.formcard .eyebrow{color:#94716c}.field input{border-color:#ddc9bf;background:#fffefd;border-radius:4px 7px 4px 6px}.choice{border-color:#e5d2c9;background:#fffefa}.choice:has(input:checked){background:#fff0f2;border-color:#be1733;box-shadow:0 0 0 1px #be1733}.activity-group:nth-child(1) .day-title{background:#f7d6db;color:#9f2137}.activity-group:nth-child(2) .day-title{background:#e7ead8;color:#506347}.day-title{padding:10px 13px;border:0;transform:rotate(-.5deg);border-radius:2px 6px 2px 4px;font-size:16px}.day-title span{color:inherit;opacity:.75}.activity{border-style:dashed;box-shadow:none}.activity strong{color:#49372f;font-weight:600}.activity .time{color:#ad2440}.activity small{color:#877068}.declaration{color:#705b54}.consent{background:#fff3f3}.formnav{border-top-style:dashed}.secondary{border-color:#dfc6bd;background:#fffcf6;color:#8e2b3b}.success-icon{background:#f8d3d8;color:#b61733;border-radius:45% 48% 44% 47%;transform:rotate(-8deg)}#success h2{color:#ac1a35}#success code{background:#fff0f0;color:#8a283a}.reviewrow{border-bottom-style:dashed}.status{background:#f6eddc;color:#806039}.admin th{background:#f9e2e5}.admin td{background:#fffdf9}footer{border-top-style:dashed;color:#94766f}.admin h1{color:#a92037}.empty{background:#fffdf8}b{color:#b5142c}input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#dba7b0}
@media(max-width:1050px){.hero{gap:25px}.posterart img{height:380px}.hero h1{font-size:68px}.tagline{font-size:12px}.posterart{margin-right:0}.registration aside h2{font-size:40px}}
@media(max-width:720px){.hero{padding:36px 6% 38px}.hero h1{font-size:67px;letter-spacing:-3px;line-height:1.06}.hero h1 .withword{letter-spacing:-1px}.hero .eyebrow{font-size:9px;letter-spacing:1.2px}.paper-strip{font-size:12px;padding:8px 10px}.posterart{margin:32px 2px 8px;transform:rotate(1deg);padding:7px}.posterart img{height:245px}.artnote{font-size:15px;bottom:20px;right:20px;padding:8px 14px}.posterart:before,.posterart:after{width:80px;height:23px}.intro:before{left:auto;right:10px;top:20px}.intro h2{font-size:33px}.registration aside h2{font-size:38px}.form-title{max-width:350px;font-size:13px!important}.steps{margin:15px 0 28px}.formcard{padding:25px 18px 22px}.day-title{font-size:15px}.eventmeta{margin-top:22px}header{padding:18px 5%}.brandmark{font-size:22px}.brand{font-size:8px;letter-spacing:.35px}.toplink{font-size:10px}}

/* Single-page registration: every question remains visible. */
.formsection + .formsection{border-top:1px dashed var(--line);margin-top:38px;padding-top:32px}
.single-page-note{background:#fbeaec;color:#9b243a!important;padding:14px 16px;border-left:3px solid #de8a98;border-radius:3px 7px 4px 8px;font-size:13px!important;margin:24px 0}
@media(max-width:720px){.formsection + .formsection{margin-top:30px;padding-top:26px}.single-page-note{margin:16px 0 28px}.formnav{flex-wrap:wrap}.formnav>span{width:100%}.formnav #submit{width:100%;justify-content:center;font-size:15px}}

/* Original school crest: proportional display without altering the image. */
.school-logo{width:96px;height:96px;object-fit:contain;flex-shrink:0;display:block}
.brand{gap:8px}.admin-logo{margin-bottom:12px}
@media(max-width:720px){.school-logo{width:72px;height:72px}.brand{gap:4px}header{gap:8px}.toplink{flex-shrink:0}}
