@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap";
:root{--ink:#202b26;--muted:#6e7770;--paper:#f8f9f4;--line:#dfe4da;--accent:#d5ef6f;--deep:#233a2d;--radius:14px;--body:"DM Sans",Arial,sans-serif;--display:"Barlow Condensed","Arial Narrow",Arial,sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--body);margin:0;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #588143}button{transition:background .15s,border-color .15s,transform .15s}input,select,textarea{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #ccd4c8;border-radius:7px;padding:10px 12px}input:hover,select:hover{border-color:#788d70}label{font-size:13px;font-weight:600;display:block}label>input,label>select,label>textarea{margin-top:7px}label>span{color:var(--muted);font-size:12px;font-weight:400}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-.025em;line-height:1.02}h1{font-size:clamp(48px,5.3vw,76px);font-weight:700}h2{margin-bottom:9px;font-size:38px}h3{font-size:19px;line-height:1.3}h4{margin:0;font-size:13px}small{font-size:12px}.muted{color:var(--muted)}.skip{z-index:10;background:#fff;padding:10px;position:absolute;top:-100px;left:12px}.skip:focus{top:5px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1240px;height:92px;margin:auto;padding:0 38px;display:flex}.brand{font-family:var(--display);letter-spacing:1px;align-items:center;gap:10px;font-size:26px;font-weight:800;line-height:1;text-decoration:none;display:flex}.brand small{font:600 9px var(--body);letter-spacing:3px;margin-top:6px;display:block}.brand-mark{width:36px;font-size:43px;font-weight:800;position:relative;transform:skew(-8deg)}.brand-mark span{font-size:13px;position:absolute;top:0;right:0}.site-header nav{align-items:center;gap:34px;font-size:12px;display:flex}.site-header nav a{font-weight:600;text-decoration:none}.header-caption{letter-spacing:1.6px;color:var(--muted);font-size:10px;font-weight:600}.hero{grid-template-columns:1.45fr 1fr;align-items:center;gap:40px;max-width:1164px;margin:0 auto;padding:60px 0 53px;display:grid}.eyebrow{letter-spacing:1.7px;margin-bottom:15px;font-size:10px;font-weight:700}.eyebrow>span{background:#80a948;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.hero h1{margin-bottom:22px}.hero h1 em{color:#5d7749;font-style:normal}.hero p{color:var(--muted);font-size:15px;line-height:1.8}.hero-details{gap:24px;margin-top:25px;font-size:12px;font-weight:500;display:flex}.hero-details>span{align-items:center;gap:7px;display:flex}.hero-art{place-items:center;height:282px;display:grid;position:relative;overflow:hidden}.art-orbit{border:1px solid #bdccb4;border-radius:50%;width:255px;height:255px;position:absolute;transform:rotate(-15deg)scaleX(1.25)}.art-orbit:after{content:"";border:1px dashed #b8c7b0;border-radius:50%;position:absolute;inset:18px}.art-stamp{background:var(--accent);width:218px;height:218px;font-family:var(--display);border-radius:50%;flex-direction:column;justify-content:center;padding:16px 38px;font-size:63px;font-weight:800;line-height:.83;display:flex;position:relative;transform:rotate(-8deg);box-shadow:10px 10px #233a2d}.art-stamp span{font-size:91px}.art-stamp i{font:24px Arial;position:absolute;top:38px;right:27px}.art-tag{letter-spacing:1px;border:1px solid var(--deep);background:var(--paper);padding:6px 10px;font-size:8px;font-weight:700;position:absolute}.tag-one{top:38px;left:9px;transform:rotate(-9deg)}.tag-two{background:var(--deep);color:#fff;bottom:26px;right:5px;transform:rotate(5deg)}.art-spark{color:#6c8c52;font-size:45px;position:absolute;top:28px;right:20px}.registration-layout{grid-template-columns:minmax(0,1fr) 306px;gap:38px;max-width:1164px;margin:auto;padding-bottom:80px;display:grid}.registration-main{outline:none;scroll-margin-top:24px}.steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;height:66px;margin:0 0 37px;padding:0;list-style:none;display:flex}.steps li{color:#8a9188;align-items:center;gap:9px;font-size:12px;display:flex}.steps li>span{border:1px solid #d3dacd;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.steps .current{color:var(--ink);font-weight:700}.steps .current>span{background:var(--deep);color:#fff;border-color:var(--deep)}.steps .complete{color:#4c7737}.steps .complete>span{background:#e4eedb;border-color:#e4eedb}.section-heading{margin-bottom:26px}.section-heading .eyebrow{color:#708661;margin-bottom:9px}.section-heading p{color:var(--muted);margin:0;font-size:13px}.camper-card,.detail-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:20px;padding:25px 28px}.camper-heading{align-items:center;gap:10px;margin-bottom:22px;display:flex}.camper-heading h3{margin:0;font-size:17px}.camper-number{background:#eef2e7;border-radius:50%;place-items:center;width:31px;height:31px;font-size:11px;font-weight:700;display:grid}.icon-button{color:var(--muted);background:0 0;border:0;place-items:center;margin-left:auto;padding:10px;display:grid}.field-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.allergy-field{margin-top:18px}.allergy-field>span{margin-left:7px}.dates-heading{justify-content:space-between;margin:27px 0 15px;display:flex}.dates-heading>span{color:var(--muted);font-size:11px}.camp-date{border:0;border-top:1px solid var(--line);min-width:0;margin:0;padding:18px 0 6px}.camp-date legend{float:left;justify-content:space-between;align-items:center;width:100%;margin:0 0 13px;padding:0;font-size:12px;display:flex}.camp-date legend>strong{font-size:13px}.camp-date legend>span{color:var(--muted);font-size:11px}.session-options{clear:both;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px;display:grid}.session{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;flex-direction:column;gap:2px;padding:11px 12px;display:flex}.session>span{justify-content:space-between;align-items:center;width:100%;font-size:12px;font-weight:600;display:flex}.session small{color:var(--muted);font-size:10px}.session strong{margin-top:6px;font-size:14px}.session:hover:not(:disabled){background:#f7faef;border-color:#9bb383}.session.selected{background:#f0f6df;border-color:#668745;box-shadow:inset 0 0 0 1px #668745}.session.selected>span{color:#44672c}.closed{opacity:.65;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.closed legend{flex-direction:column;align-items:flex-start;gap:2px;width:auto;margin:0;display:flex}.closed-label{color:var(--muted);background:#f0f2ed;border-radius:4px;padding:5px 8px;font-size:10px}.add-child{background:0 0;border:1px dashed #acbaa0;border-radius:9px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px;font-size:13px;font-weight:600;display:flex}.add-child:hover{background:#eff4e4}.form-actions{justify-content:space-between;align-items:center;gap:15px;margin-top:25px;display:flex}.form-actions>span{color:var(--muted);font-size:12px}.primary{background:var(--deep);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:15px 23px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.primary:hover:not(:disabled){background:#38513c}.text-button{color:var(--muted);background:0 0;border:0;align-items:center;gap:5px;padding:10px 0;font-size:12px;display:flex}.sidebar{padding-top:0}.summary-card{background:var(--deep);color:#fff;border-radius:var(--radius);margin-bottom:24px;padding:28px;position:relative;overflow:hidden}.summary-card .eyebrow{color:#ccddba;margin-bottom:17px;font-size:9px}.summary-card h3{font-family:var(--display);margin-bottom:29px;font-size:34px;font-weight:600;line-height:1.07}.summary-row{justify-content:space-between;margin-bottom:12px;font-size:12px;display:flex}.summary-row>span{color:#bfcfbc}.summary-total{border-top:1px solid #4b604d;flex-direction:column;gap:3px;margin-top:21px;padding-top:19px;font-size:12px;display:flex}.summary-total strong{font-family:var(--display);color:var(--accent);font-size:46px;line-height:1.2}.summary-note{color:#beceb8;margin:14px 0 0;font-size:10px;line-height:1.6}.bring-card{border:1px solid var(--line);border-radius:var(--radius);padding:24px}.bring-card h3{margin-bottom:16px;font-size:15px}.bring-card ul{margin:0;padding:0;list-style:none}.bring-card li{color:#64725b;align-items:flex-start;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.bring-card svg{flex-shrink:0;margin-top:1px}.schedule-note{border-top:1px solid var(--line);flex-direction:column;margin-top:18px;padding-top:14px;font-size:11px;display:flex}.schedule-note span{justify-content:space-between;margin-bottom:7px;display:flex}.bring-card>a{align-items:center;gap:5px;margin-top:18px;font-size:10px;display:flex}.notice,.error{border-radius:8px;margin-bottom:22px;padding:14px 17px;font-size:12px;line-height:1.7}.notice{background:#eff3e1;border:1px solid #d9e3bc}.notice strong{display:block}.error{color:#943e2a;background:#fff0ed;border:1px solid #e8b3a8}.detail-card>label,.detail-card>.field-grid{margin-bottom:22px}.detail-card>label:last-child{margin:0}.policy{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.policy h3{font-size:14px}.policy p{color:var(--muted);font-size:12px}.check-label{align-items:flex-start;gap:10px;display:flex}.check-label>input{width:17px;height:17px;min-height:0;accent-color:var(--deep);margin-top:3px}.check-label>span{color:var(--ink);font-size:12px;line-height:1.6}.review section{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:20px}.review section h3{margin-bottom:4px}.review section p{font-size:12px}.review-line{justify-content:space-between;margin:10px 0;font-size:13px;display:flex}.review-line small{color:var(--muted);font-size:11px;display:block}.review-parent{flex-direction:column;font-size:13px;display:flex}.review-parent span{color:var(--muted);font-size:12px}.total-line{border-top:1px solid var(--line);justify-content:space-between;margin-top:22px;padding-top:22px;font-size:15px;display:flex}.total-line strong{font-size:22px}.payment-note{color:var(--muted);gap:8px;font-size:11px;display:flex}footer{border-top:1px solid var(--line);max-width:1164px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin:auto;padding:30px 0 35px;font-size:11px;display:flex}footer p{margin:0}.footer-brand{font-family:var(--display);letter-spacing:1px;color:var(--ink);font-size:19px;font-weight:700}.footer-brand span{font:500 8px var(--body);letter-spacing:1px;margin-left:4px}.confirmation{text-align:center;max-width:680px;min-height:40vh;margin:90px auto 120px;padding:0 25px}.confirmation>svg{color:#648745;margin-bottom:20px}.confirmation h1{font-size:54px}.confirmation p{color:var(--muted)}.confirmation>.primary{margin:20px auto}.confirmation>a:last-child{font-size:12px;display:block}.staff-shell{max-width:1164px;margin:45px auto 75px}.staff-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.staff-header h1{margin-bottom:8px;font-size:46px}.staff-header p{color:var(--muted);margin:0}.staff-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:25px;padding-bottom:13px;display:flex}.staff-nav button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 15px}.staff-nav .active{background:var(--deep);color:#fff}.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.staff-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px}.staff-card .field-grid{margin-bottom:15px}.staff-card label{margin-bottom:12px}.staff-card h3{margin-bottom:18px}.staff-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.staff-table{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:auto}.staff-table table{border-collapse:collapse;width:100%;font-size:12px}.staff-table th,.staff-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:13px}.staff-table th{background:#edf1e6;font-size:11px}.staff-table td small{color:var(--muted);display:block}.staff-table button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:7px;font-size:11px}.staff-status{color:#537d35;font-size:12px}.inline-checks{flex-wrap:wrap;gap:18px;display:flex}.inline-checks label{align-items:center;gap:7px;display:flex}.inline-checks input{width:16px;min-height:16px;margin:0}.code-output{overflow-wrap:anywhere;background:#edf3e1;border-radius:8px;margin:15px 0;padding:15px}.empty-state{text-align:center;color:var(--muted);padding:38px}@media (min-width:1100px){.sidebar{align-self:start;position:sticky;top:24px}}@media (max-width:1239px){.hero,.registration-layout,.staff-shell,footer{margin-left:38px;margin-right:38px}.hero{gap:20px}}@media (max-width:900px){.registration-layout{grid-template-columns:minmax(0,1fr) 255px;gap:22px}.hero h1{font-size:58px}.hero-art{transform:scale(.87)}.camper-card,.detail-card,.summary-card,.bring-card{padding:22px}.header-caption{display:none}.hero-details{gap:15px}.staff-grid{grid-template-columns:1fr}}@media (max-width:720px){.site-header{height:78px;padding:0 22px}.brand{font-size:23px}.brand-mark{font-size:37px}.site-header nav{font-size:11px}.hero{grid-template-columns:1fr;margin:0;padding:34px 22px 30px}.hero h1{margin-bottom:18px;font-size:57px}.hero p{font-size:13px}.hero-art{display:none}.hero-details{gap:16px;margin-top:19px;font-size:10px}.hero-details svg{width:15px}.registration-layout{flex-direction:column;gap:25px;margin:0 18px;padding-bottom:35px;display:flex}.sidebar{grid-template-columns:1fr 1fr;gap:12px;display:grid}.summary-card,.bring-card{margin:0;padding:18px}.summary-card h3{font-size:29px}.summary-card .eyebrow{font-size:8px}.summary-note{font-size:9px}.steps{height:60px;margin-bottom:27px}.steps li{gap:6px;font-size:10px}.steps li>span{width:21px;height:21px;font-size:10px}h2{font-size:33px}.section-heading{margin-bottom:21px}.camper-card,.detail-card{padding:19px 16px}.allergy-field>span{margin:3px 0 0;display:block}.field-grid{gap:12px}.camp-date legend{align-items:flex-start;gap:10px}.camp-date legend>span{text-align:right;font-size:10px}.session{padding:10px 8px}.session>span{font-size:11px}.session small{font-size:9px}.session strong{font-size:13px}.session-options{gap:6px}.form-actions{gap:12px}.form-actions .primary{padding:14px 17px;font-size:12px}.form-actions>span{font-size:10px}.eyebrow{font-size:9px}.staff-shell{margin:30px 18px}.staff-header{align-items:flex-start}.staff-header h1{font-size:36px}.staff-header p{font-size:12px}.staff-header .primary{padding:10px;font-size:11px}footer{flex-wrap:wrap;margin:0 22px;padding-top:23px;font-size:10px}.footer-brand{width:100%}.confirmation{margin-top:55px}.confirmation h1{font-size:44px}}@media (max-width:480px){.sidebar{grid-template-columns:1fr}}@media (max-width:380px){.steps li{font-size:9px}.steps li>span{width:19px;height:19px}.hero h1{font-size:49px}.session small{font-size:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
