@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--blue:#17394c;--cream:#fff8ee;--gold:#b52c36;--muted:#66736f;--line:#deded1;--green:#476957}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--blue);margin:0;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1232px;margin:auto;padding:27px 36px;display:flex}.brand{letter-spacing:1px;font-size:20px;font-weight:800;line-height:1.25;text-decoration:none}.brand span{color:#b52c36}.brand small{letter-spacing:2.7px;margin-top:7px;font-size:9px;font-weight:600;display:block}.header-note{color:var(--muted);font-size:12px}main{max-width:1160px;margin:auto;padding:0 28px}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;padding:72px 0 60px;display:grid}.eyebrow{letter-spacing:1.8px;font-size:10px;font-weight:700}.hero h1{letter-spacing:-4px;margin:26px 0 25px;font-family:Manrope,sans-serif;font-size:clamp(50px,5.7vw,79px);font-weight:800;line-height:1.05}.hero h1 em{color:#b52c36;font-style:normal}.intro{letter-spacing:-.6px;font-size:25px;font-weight:500;line-height:1.3}.hero-copy>p:not(.intro){color:#586963;max-width:420px;font-size:15px}.chips{flex-wrap:wrap;gap:8px;margin:25px 0;display:flex}.chips span{border:1px solid #d3d9cd;border-radius:30px;padding:6px 12px;font-size:11px}.button{background:var(--blue);border:1px solid var(--blue);color:#fff;border-radius:7px;justify-content:center;align-items:center;gap:25px;padding:14px 22px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.button span{font-size:21px;line-height:1}.poster{background:#d4dccb;border:1px solid #c9d1bf;border-radius:120px 120px 10px 10px;min-height:470px;padding:42px 35px 22px;position:relative;overflow:hidden;transform:rotate(2deg);box-shadow:10px 13px #eee4d4}.poster-tag{text-align:center;letter-spacing:2px;margin-top:9px;font-size:10px;font-weight:700}.note-art{color:#516d54;text-align:center;font-family:Georgia,serif;font-size:135px;line-height:1.4;transform:rotate(-12deg)}.poster-title{letter-spacing:-1.7px;z-index:1;font-family:Manrope,sans-serif;font-size:44px;font-weight:800;line-height:1.08;position:relative;transform:rotate(-2deg)}.poster-title i{color:#526a4b;font-style:normal}.poster-bottom{letter-spacing:1.8px;justify-content:space-between;align-items:center;margin-top:30px;font-size:9px;font-weight:700;display:flex}.star{color:#b52c36;font-size:50px}.star-one{position:absolute;top:120px;right:40px}.ribbon{border-block:1px solid var(--line);letter-spacing:1.7px;justify-content:space-around;gap:20px;padding:22px 5px;font-size:11px;font-weight:700;display:flex}.registration{padding-top:70px;scroll-margin-top:20px}.section-top{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px;display:flex}h2{letter-spacing:-1.3px;margin:13px 0 8px;font-family:Manrope,sans-serif;font-size:35px;line-height:1.2}.section-top>p{color:var(--muted);max-width:330px;font-size:12px;line-height:1.8}h3{letter-spacing:-.4px;margin:0 0 8px;font-family:Manrope,sans-serif;font-size:21px}h4{margin:20px 0 9px;font-size:13px}.sessions{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.session{text-align:left;color:var(--blue);background:0 0;border:1px solid #cdd2c5;border-radius:9px;padding:23px}.session.selected{border:2px solid var(--green);background:#eef0e4;padding:22px}.session-head{letter-spacing:1.2px;justify-content:space-between;gap:7px;margin-bottom:20px;font-size:8px;font-weight:700;display:flex}.session-head i{color:var(--green);font-size:17px;font-style:normal;line-height:1}.session h3{letter-spacing:-1px;font-size:23px}.session-time{font-size:14px;font-weight:600}.session p{color:var(--muted);margin:12px 0 20px;font-size:12px}.session-price{font-size:33px;font-weight:700;line-height:1.2}.session-price small{font-size:10px;font-weight:400}.seat-label{color:#536c51;margin-top:13px;font-size:11px}.fine{color:var(--muted);font-size:11px;line-height:1.6}.card{border:1px solid var(--line);background:#fffdf8;border-radius:12px;padding:32px}.registration-form{margin-top:27px;max-width:900px;margin-inline:auto;padding:38px 45px}.form-title{align-items:flex-start;gap:15px;margin:35px 0 20px;display:flex}.form-title:first-child{margin-top:0}.form-title p{color:var(--muted);margin:4px 0;font-size:12px}.form-title h3{margin:0}.number{border:1px solid #cbd2c5;border-radius:50%;flex-shrink:0;place-items:center;width:33px;height:33px;font-size:10px;display:grid}.fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.fields>label{margin:0}label{margin:15px 0;font-size:12px;font-weight:600;display:block}label small{color:var(--muted);font-weight:400}input:not([type=radio]),textarea,select{width:100%;color:var(--blue);background:#fff;border:1px solid #cfd4c9;border-radius:5px;min-height:44px;padding:11px 12px}label>input:not([type=radio]),label>textarea{margin-top:7px;display:block}input:focus,textarea:focus,select:focus{outline-offset:2px;outline:2px solid #b52c36}textarea{resize:vertical}.lunch-box{background:#f2efdf;border-radius:7px;margin-top:30px;padding:23px}.lunch-box p{color:var(--muted);font-size:12px}.lunch-box a{font-size:12px}.radio{flex-wrap:wrap;align-items:center;gap:8px;font-weight:400;display:flex}.radio input{accent-color:var(--blue)}.payment-options{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pay-option{border:1px solid #d8dccf;border-radius:7px;align-items:flex-start;gap:6px;margin:0;padding:14px 10px;font-size:11px;display:flex}.pay-option input{accent-color:var(--blue);margin:3px 0}.pay-option small{word-break:break-word;margin-top:5px;font-size:9px;display:block}.pay-option.chosen{border-color:var(--green);background:#f1f3e9}.checkout{border-top:1px solid var(--line);margin-top:30px;padding-top:26px}.total{justify-content:space-between;align-items:center;display:flex}.total>b{font-size:37px}.total small{font-size:18px}.checkout>p{color:var(--muted);max-width:610px;font-size:12px}.submit{justify-content:space-between;width:100%;margin-top:6px}.error{color:#7e2c1a;background:#fbe6dc;border:1px solid #c37e69;border-radius:6px;margin:15px 0;padding:15px;font-size:13px}.faq{grid-template-columns:1fr 1.3fr;gap:60px;padding:75px 0 65px;display:grid}.faq h2{max-width:280px;font-size:30px}details{border-bottom:1px solid var(--line);padding:17px 0}summary{cursor:pointer;font-size:14px;font-weight:600}details p{color:var(--muted);font-size:13px}footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;max-width:1160px;margin:auto;padding:35px 28px;display:flex}footer .brand{font-size:14px}footer p,footer>a{color:var(--muted);font-size:11px}.receipt{max-width:800px;margin:60px auto}.receipt h2{font-size:34px}.receipt p{font-size:15px}.receipt .secondary{margin-top:30px;display:block}.secondary{color:var(--blue);background:0 0;border:1px solid #b8c1b5;border-radius:6px;padding:11px 17px;font-size:13px}.soft{color:var(--muted)}.staff-shell{max-width:1300px;padding-top:30px;padding-bottom:65px}.staff-top{justify-content:space-between;margin-bottom:35px;font-size:11px;display:flex}.back{text-decoration:none}.staff-heading{letter-spacing:-2px;margin:12px 0 0;font-family:Manrope,sans-serif;font-size:44px}.stats{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.stats .card{padding:23px}.stats span{font-size:13px}.stats strong{font-size:42px;display:block}.stats strong small{color:var(--muted);font-size:20px}.stats p{color:var(--muted);margin:0;font-size:10px}.notice{border-left:3px solid var(--gold);background:#f0ecd9;margin:23px 0;padding:16px 20px;font-size:12px}.toolbar{align-items:center;gap:10px;display:flex}.toolbar input{flex:1}.toolbar select{width:230px}.toolbar button{white-space:nowrap}.roster{gap:20px;margin:15px 0 30px;display:grid}.camper{padding:25px}.camper-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:15px;display:flex}.camper h2{margin:7px 0;font-size:26px}.camper p{margin:5px 0;font-size:13px}.badge{white-space:nowrap;background:#eee8de;border-radius:25px;padding:7px 12px;font-size:10px;display:inline-block}.badge.confirmed{color:#345e39;background:#dce9d9}.badge.hold{color:#7f5a14;background:#f6e8c4}.badge.offered{color:#274f78;background:#dee6f5}.camper-grid{grid-template-columns:1fr 1.3fr 1fr;gap:25px;display:grid}.camper-grid section{min-width:0}.camper-grid a{overflow-wrap:anywhere;font-size:13px;display:block}.camper-grid b{font-size:13px}.camper h4{letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-size:9px}.money{font-size:25px;font-weight:700}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.order{background:#f3efdf;border-radius:6px;margin-top:12px;padding:12px}.actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;display:flex}.actions .button{font-size:12px}.danger{color:#943b32}.staff-access form{align-items:flex-end;gap:15px;max-width:650px;display:flex}.staff-access label{flex:1;margin:0}.staff-access .button{white-space:nowrap}.staff-access p{font-size:13px}.staff-access{margin-bottom:25px}.text-button{color:#943b32;background:0 0;border:0;font-size:12px;text-decoration:underline}.empty{text-align:center;padding:50px}@media (max-width:750px){header{padding:23px 21px}.header-note{display:none}main{padding:0 20px}.brand{font-size:17px}.hero{grid-template-columns:1fr;gap:35px;padding:43px 0}.hero h1{letter-spacing:-3px;font-size:62px}.hero-copy>p:not(.intro){max-width:none}.poster{width:93%;max-width:450px;min-height:410px;margin:0 auto}.poster-title{font-size:40px}.note-art{font-size:110px}.ribbon{text-align:center;gap:15px;font-size:8px;line-height:1.8}.section-top{display:block}.section-top>p{margin-top:20px}.registration{padding-top:45px}.sessions{grid-template-columns:1fr;gap:12px}.session{padding:20px}.session.selected{padding:19px}.session-head{margin-bottom:10px}.session p{margin:8px 0}.session-price{font-size:29px}.session-price small{font-size:12px}.seat-label{margin-top:7px}.registration-form{padding:25px 19px}.fields{grid-template-columns:1fr;gap:15px}.fields>div:empty{display:none}.payment-options{grid-template-columns:1fr}.pay-option{padding:15px;font-size:13px}.pay-option small{font-size:11px}.faq{grid-template-columns:1fr;gap:15px;padding:45px 0}.faq h2{max-width:none;font-size:27px}h2{font-size:30px}footer{flex-direction:column;align-items:flex-start;gap:12px;padding:28px 20px}.staff-shell{padding-top:25px}.staff-heading{font-size:34px}.stats{gap:8px}.stats .card{padding:12px}.stats span{font-size:11px}.stats strong{font-size:29px}.stats strong small{font-size:14px}.stats p{font-size:8px}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}.toolbar select{flex:1;width:auto}.camper-grid{grid-template-columns:1fr;gap:0}.camper-top{flex-wrap:wrap}.camper{padding:20px}.staff-access form{display:block}.staff-access .button{margin-top:15px}.card{padding:23px}.receipt{margin:35px auto}.receipt h2{font-size:29px}}@media print{header,footer,.hero,.toolbar,.staff-access,.actions,.staff-top,.notice{display:none!important}.camper{break-inside:avoid}.staff-shell{max-width:none}.camper-grid{grid-template-columns:1fr 1fr 1fr}.card{background:#fff;border:1px solid #aaa}.roster{gap:12px}body{background:#fff}.stats{grid-template-columns:repeat(3,1fr)}}.holiday-hero{isolation:isolate;background:#244632;border-radius:110px 110px 12px 12px;align-self:stretch;min-height:490px;margin:8px 0 14px;position:relative;box-shadow:10px 12px #eaded1}.holiday-photo{border-radius:inherit;background-image:url(/images/holiday-camp-crafts.png);background-position:100% 100%;background-size:205% 205%;position:absolute;inset:0;overflow:hidden}.holiday-photo:after{content:"";background:linear-gradient(#14291f52,#0000 40%,#16251b57);position:absolute;inset:0}.photo-label{color:#fff8ee;text-align:center;letter-spacing:2px;font-size:9px;font-weight:700;position:absolute;top:36px;left:0;right:0}.holiday-stamp{z-index:2;color:#fff8ee;border:5px solid var(--cream);background:#b52c36;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:132px;height:132px;font-size:14px;line-height:1.6;display:flex;position:absolute;bottom:-20px;left:-22px;transform:rotate(-9deg);box-shadow:0 5px 15px #18382b22}.holiday-stamp b{font-size:17px}.ribbon{color:#8c2730;border-color:#e6c8bd}.craft-showcase{padding-top:65px}.craft-showcase .eyebrow{color:#a02632}.craft-showcase .section-top>p{max-width:335px;font-size:13px}.craft-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.craft-card{background:#fffdf8;border:1px solid #ddd5c5;border-radius:12px;overflow:hidden}.craft-photo{aspect-ratio:1.08;background-color:#234732;background-image:url(/images/holiday-camp-crafts.png);background-repeat:no-repeat;background-size:202% 202%}.craft-photo.shaker{background-position:0 0}.craft-photo.music-star{background-position:100% 0}.craft-photo.wreath{background-position:0 100%}.craft-caption{padding:22px 21px 25px}.craft-caption h3{letter-spacing:-.5px;margin:0 0 8px;font-size:19px;line-height:1.35}.craft-caption p{color:var(--muted);margin:0;font-size:12px}.craft-note{background:#edf0e5;border:1px solid #d9dfcd;border-radius:8px;align-items:center;gap:14px;margin-top:18px;padding:18px 21px;display:flex}.craft-note>span{color:#a72833;font-size:30px}.craft-note p{flex:1;margin:0;font-size:13px}.craft-note a{color:#9d2530;font-size:12px;font-weight:700}.hero .eyebrow{color:#a02632}.lunch-box{background:#eef0e4}.notice{background:#f7e9e2;border-left-color:#b52c36}.registration{padding-top:65px}@media (max-width:750px){.holiday-hero{border-radius:100px 100px 10px 10px;width:94%;max-width:440px;min-height:410px;margin:5px auto 20px}.holiday-stamp{width:115px;height:115px;font-size:12px;bottom:-20px;left:-12px}.holiday-stamp b{font-size:15px}.craft-showcase{padding-top:38px}.craft-grid{grid-template-columns:1fr;gap:20px}.craft-photo{aspect-ratio:1.35}.craft-caption{padding:20px}.craft-note{flex-wrap:wrap;gap:10px}.craft-note p{flex-basis:80%}.craft-note a{margin-left:33px}.registration{padding-top:45px}}.holiday-photo{background-size:193% 218%}.craft-photo.shaker{background-size:192% 194%}.craft-photo.music-star{background-size:218% 194%}.craft-photo.wreath{background-size:220% 218%}.email-receipt{background:#edf0e5;border-left:3px solid #476957;border-radius:4px;padding:13px 16px;font-size:13px!important}.email-panel{margin:20px 0}.email-panel-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.email-panel p{color:var(--muted);margin:7px 0;font-size:12px}.email-panel button{white-space:nowrap}.email-log{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 18px;padding:12px 0;font-size:11px;display:flex}.email-log p{color:#8e302b;flex-basis:100%}.email-log strong{margin-left:auto}@media (max-width:750px){.email-panel-top{display:block}.email-panel button{margin-top:10px}.email-log{display:block}.email-log>*{margin:5px 0;display:block}}.staff-action-dialog{color:var(--blue);border:1px solid var(--line);background:#fffdf8;border-radius:14px;width:calc(100% - 32px);max-width:520px;padding:30px;box-shadow:0 20px 80px #102a3d44}.staff-action-dialog::backdrop{background:#112c3bbb}.staff-action-dialog h2{margin-top:14px;font-size:27px}.staff-action-dialog p{font-size:14px;line-height:1.65}.staff-action-dialog .actions{justify-content:flex-end}.staff-action-dialog .button{font-size:13px}.staff-action-dialog .cancel-confirm{background:#a72f37;border-color:#a72f37}.staff-action-success{color:#31582f;background:#e6f0e0;border:1px solid #b8cbb0;border-radius:7px;margin:18px 0;padding:14px 18px;font-size:14px}@media (max-width:550px){.staff-action-dialog{padding:24px}.staff-action-dialog .actions>*{width:100%}}.games-showcase{padding-top:65px}.games-showcase .eyebrow{color:#a02632}.games-showcase .section-top>p{font-size:13px}.games-collage{border:1px solid #dfd4c4;border-radius:13px;width:100%;height:auto;display:block;box-shadow:0 8px 25px #17394c0d}.games-caption{color:#8c2730;justify-content:space-between;align-items:center;gap:20px;padding:17px 3px;display:flex}.games-caption span{letter-spacing:1.6px;font-size:10px;font-weight:700}.games-caption a{font-size:12px;font-weight:700}@media (max-width:750px){.games-showcase{padding-top:40px}.games-collage{border-radius:8px}.games-caption{gap:10px}.games-caption span{letter-spacing:1px;font-size:8px}.games-caption a{font-size:11px}}
