.camp-page{--day-green:#095743;--day-ink:#073c30;--day-mint:#e7f1e7;--day-gold:#f7c650}
.camp-page .site-head .brand img{object-fit:contain}
.day-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);border-radius:22px;align-items:stretch;padding:0;background:#fdf9ed;overflow:hidden;border:1px solid #e9e6d7;min-height:335px;margin-top:clamp(14px,3vw,36px)}
.day-hero-text{padding:clamp(22px,5vw,61px);align-self:center}.day-kicker{display:flex;align-items:center;gap:9px;color:var(--day-green);font-weight:800;font-size:13px;margin:0 0 9px}.day-kicker span{display:inline-block;width:23px;height:4px;background:var(--day-gold);border-radius:99px}
.day-hero h1{text-wrap:balance;max-width:540px;color:var(--day-ink);font-size:clamp(37px,5vw,67px);margin:0 0 13px}.day-hero .camp-lead{font-size:clamp(15px,1.5vw,19px);margin-bottom:19px;max-width:520px}
.day-hero-photo{margin:0;position:relative;min-height:345px;background:#e3eddd;overflow:hidden;border-inline-start:4px solid #f3cd72}.day-hero-photo img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.camp-page .day-facts{margin:12px 0 28px}.day-facts .fact-icon{color:var(--day-green)}
.day-program-grid,.day-gallery{display:grid;gap:12px;margin-top:12px}.day-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-schedule{background:#fffefa;border:1px solid #dce6da;border-radius:14px;overflow:hidden}.day-schedule h3{display:flex;flex-wrap:wrap;gap:5px 13px;align-items:center;background:var(--day-mint);color:var(--day-ink);margin:0;padding:10px 14px;font-size:17px}.day-schedule h3 span{font-size:13px;font-weight:650}.day-schedule:nth-child(2) h3{background:#fff2cb}.day-schedule ol{margin:0;padding:0 14px;list-style:none}.day-schedule li{display:grid;grid-template-columns:minmax(76px,108px) 1fr;gap:8px;padding:8px 0;font-size:13px}.day-schedule li+li{border-top:1px solid #eaece2}.day-time{font-weight:800;color:#105743}
.day-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.day-gallery article{border:1px solid #dce6da;border-radius:13px;overflow:hidden;background:#fffefa}.day-gallery img{display:block;width:100%;height:auto;aspect-ratio:1.83;object-fit:cover}.day-gallery article:first-child img{object-position:center 32%}.day-gallery article div{padding:9px 12px}.day-gallery h3{font-size:16px;margin:0;color:var(--day-green)}.day-gallery p{font-size:13px;margin:3px 0 0;color:#475e53}.day-caption{margin:6px 0 0}.day-highlights{margin-bottom:34px}
.day-venue{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:14px;background:var(--day-mint);border:1px solid #dce6da;border-radius:15px;align-items:center}.day-venue img{width:100%;height:auto;border-radius:10px;aspect-ratio:1.78;object-fit:cover}.day-venue h3{font-size:16px;margin:9px 0 0;color:var(--day-green)}.day-venue p{font-size:13px;margin:3px 0;color:#2b4d40}
.day-contact{background:var(--day-green);color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;margin-bottom:20px}.day-contact h2,.day-contact .day-kicker{color:#fff}.day-contact h2{font-size:clamp(19px,2.4vw,27px)}.day-contact p{margin:0;color:#e5f4e7}.day-contact ul{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0;list-style:none}.day-contact a{display:inline-flex;align-items:center;min-height:40px;padding:3px 9px;border-radius:7px;background:#fff9e9;color:var(--day-ink);font-weight:800;font-size:13px}.day-contact a:hover{text-decoration:underline}
@media(max-width:700px){.day-hero{grid-template-columns:1fr;min-height:auto}.day-hero-photo{min-height:0;aspect-ratio:1.55;border-inline-start:0;border-block-start:4px solid #f3cd72}.day-program-grid,.day-venue{grid-template-columns:1fr}.day-gallery{grid-template-columns:1fr 1fr}.day-gallery article:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.day-contact{align-items:flex-start;flex-direction:column}}
@media(max-width:360px){.day-gallery{grid-template-columns:1fr}.day-gallery article:last-child{display:block}}
@media print{.day-hero,.day-facts,.day-program,.day-highlights,.day-venue,.day-contact{display:none}}
/* Checkout and printed-event ticket treatment */
#registration-content{scroll-margin-top:87px}
.camp-page .checkout-amount{display:flex;justify-content:space-between;align-items:center;gap:9px;padding-bottom:9px;border-bottom:1px solid #d3e2d8;margin-bottom:7px;color:#103f32}
.checkout-amount strong{font-size:clamp(17px,2.6vw,26px);white-space:nowrap}
.camp-page .payment-box{padding:13px;background:#f3f7ee}
.order-ticket{background:#fffbf1;border:1px solid #c9d9cb;border-radius:14px;color:#103f32;overflow:hidden}
.ticket-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#124b3b;color:#fffaf0;border-bottom:3px solid #e7b748}
.ticket-header img{width:44px;height:45px;object-fit:contain;flex:none;background:#fffbf1;padding:4px;border-radius:6px}
.stage .ticket-header p,.ticket-header p{margin:0;font-size:11px;color:#d6e6d8}
.ticket-header h4{margin:0;font-size:clamp(16px,2.2vw,24px);color:#fffaf0;line-height:1.45}
.ticket-header .ticket-status{margin-inline-start:auto;color:#ffe2a0;border:1px solid #f8d58a77;border-radius:5px;padding:2px 7px;font-size:11px;white-space:nowrap;background:transparent}
.ticket-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,32%);align-items:stretch}
.ticket-order{padding:14px 16px;min-width:0}.ticket-event-meta{display:grid;gap:3px;color:#486156;font-size:13px}.ticket-event-meta svg{color:#17624e;margin-inline-end:3px}
.ticket-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin:10px 0 8px;border-top:1px solid #d7e2d6;padding-top:7px}.ticket-counts div{border-inline-start:1px solid #d7e2d6;padding-inline:4px;text-align:center}.ticket-counts div:first-child{border:0}.ticket-counts dt{font-size:clamp(10px,1.25vw,13px);color:#486156}.ticket-counts dd{font-size:clamp(17px,2vw,22px);font-weight:830;margin:0}
.ticket-amount{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 7px;border-top:1px solid #d7e2d6;padding-top:7px}.ticket-amount span{font-size:12px;color:#486156}.ticket-amount strong{font-size:clamp(16px,2.2vw,24px)}
.ticket-qr{position:relative;display:grid;justify-items:center;align-content:center;gap:4px;padding:10px;background:#eaf2e6;border-inline-start:1px dashed #7b9d8f}.ticket-qr::after{content:'';position:absolute;inset-block-end:-8px;inset-inline-start:-8px;width:16px;height:16px;background:#fff;border-radius:50%;border:1px solid #c9d9cb}
.ticket-qr .pass-qr{width:min(100%,112px);height:auto;aspect-ratio:1;border:1px solid #d2e0d4}.ticket-qr span{font-size:11px;color:#486156;text-align:center}.ticket-code-value{direction:ltr;unicode-bidi:isolate;color:#103f32;font-size:clamp(16px,2.4vw,24px);letter-spacing:.045em;font-weight:850;white-space:nowrap}.ticket-code-value.legacy{font-size:11px;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.ticket-resume{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;justify-content:space-between;padding:9px 13px;font-size:13px;margin:9px 0;background:#f3f7ee;border-radius:7px}.ticket-resume code{direction:ltr;unicode-bidi:isolate;overflow-wrap:anywhere;font-weight:750;color:#103f32}
@media(max-width:520px){.ticket-body{grid-template-columns:minmax(0,1fr) minmax(95px,32%)}.ticket-header,.ticket-order{padding:9px}.ticket-header{flex-wrap:wrap}.ticket-header img{width:38px;height:39px}.ticket-header .ticket-status{margin-inline-start:0}.ticket-counts div{padding-inline:0}.ticket-qr{padding:6px}.ticket-qr span{font-size:9px}.ticket-event-meta{font-size:11px}}
