:root{--ink:#182f30;--muted:#606e7b;--green:#17324b;--green-dark:#10263a;--lime:#b5d0e9;--cream:#f0f3f6;--paper:#fff;--line:#dfe3e7;--orange:#a6631f;--softorange:#fbf0dc;--red:#a64536;--radius:18px;--shadow:0 10px 32px #14222e10}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b38529;outline-offset:3px}button{touch-action:manipulation}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.15}h2{font-size:29px;letter-spacing:-1px}h3{font-size:21px;letter-spacing:-.6px}small{font-size:12px}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.wrap{max-width:1240px;margin:auto;padding:0 40px}.topline{background:#cfdfee;border-bottom:1px solid #b8ccde;color:#2e4254;font-size:12px;padding:7px 20px;text-align:center;letter-spacing:.1px}.topline strong{font-weight:700}.header{background:white}.nav{height:102px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{border:0;background:none;padding:0;display:flex;align-items:center}.brand img{width:174px;height:82px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:32px}.navlink{background:none;border:0;color:var(--muted);font-size:14px;padding:9px 0;text-decoration:none}.navlink.active{color:var(--green);font-weight:650;border-bottom:2px solid var(--green)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid transparent;border-radius:9px;padding:12px 18px;background:var(--green);color:white;font-weight:650;text-decoration:none;line-height:1.3;min-height:44px;transition:background .15s,transform .15s}.btn:hover{background:#224566}.btn:disabled{background:#dee3e7;color:#7b8a98;transform:none;border-color:transparent}.btn.secondary{background:white;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:#ebeff3;border-color:#c6cdd4}.btn.ghost{background:transparent;color:var(--green);padding:10px 12px}.btn.ghost:hover{background:#e3e9ef}.btn.small{font-size:12px;min-height:36px;padding:9px 12px}.btn.lime{background:var(--lime);color:var(--green-dark)}.btn.lime:hover{background:#c8dff5}.btn.danger{color:var(--red);background:#fff7f4;border-color:#e7c9c0}.btn.full{width:100%}.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(112deg,#11273b 0%,#18334c 57%,#365571 100%)}.hero-inner{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center;min-height:342px;padding-top:47px;padding-bottom:48px;z-index:1}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.1px;text-transform:uppercase;display:flex;align-items:center;gap:8px}.eyebrow .icon{width:14px;height:14px}.hero .eyebrow{color:#c9d7e4}.hero h1{font-size:58px;line-height:1.03;letter-spacing:-2.6px;font-weight:650;margin:17px 0 18px}.hero h1 span{color:var(--lime)}.hero p{color:#d4dce3;max-width:405px;font-size:15px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:230px}.hero-art:before,.hero-art:after{content:'';position:absolute;width:390px;height:390px;border:1px solid #c9d8e528;border-radius:50%;transform:scaleY(.55) rotate(-27deg)}.hero-art:after{width:560px;height:560px;opacity:.5}.waterlines{position:absolute;inset:0;overflow:hidden;pointer-events:none}.waterlines span{position:absolute;width:140%;height:290px;border:1px solid #c7d8e718;border-radius:50%;right:-64%;top:30%;transform:rotate(-21deg)}.waterlines span:nth-child(2){top:39%;right:-61%}.waterlines span:nth-child(3){top:49%;right:-58%}.waterlines span:nth-child(4){top:58%;right:-55%}.set-card{width:265px;padding:24px;border:1px solid #dae9f644;background:#ffffff0d;backdrop-filter:blur(6px);border-radius:16px;position:relative;transform:rotate(4deg);box-shadow:0 20px 45px #082b3220}.set-card .label{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:1.6px;color:#d7e1eb}.set-card .big{font-size:62px;letter-spacing:-4px;font-weight:650;line-height:1.15;margin-top:15px;color:var(--lime)}.set-card .big small{font-size:22px;letter-spacing:-.7px;color:#fff;font-weight:400}.set-card .line{border-top:1px dashed #c6d5e25c;margin-top:17px;padding-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.set-card .rate{font-size:24px;letter-spacing:-1px}.little-badge{position:absolute;bottom:-22px;right:0;border:1px solid #ffffff33;padding:10px 15px;border-radius:8px;transform:rotate(-5deg);background:#b5d0e9;color:#293947;font-size:11px;font-weight:700;box-shadow:0 10px 22px #183d4224}.benefits{background:#e5eaef;border-bottom:1px solid var(--line)}.benefits-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-top:20px;padding-bottom:20px}.benefit{display:flex;align-items:center;gap:14px;justify-content:center;border-right:1px solid #ccd3da}.benefit:last-child{border:0}.benefit .icon{width:23px;height:23px;color:var(--green)}.benefit strong{font-size:14px;font-weight:650;display:block}.benefit small{color:#5c6a76}.main{padding-top:42px;padding-bottom:70px}.section-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.kicker{color:#667684;font-size:10px;font-weight:700;letter-spacing:1.8px;margin-bottom:9px;text-transform:uppercase}.section-intro p{color:var(--muted);font-size:14px;margin-top:8px}.date-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:27px}.date-card{text-align:left;background:#fff;border:1px solid #d9dee3;border-radius:12px;padding:17px 19px;position:relative;color:var(--ink);transition:all .15s;min-height:114px}.date-card:hover{border-color:#768a9d;background:#f6fafd}.date-card.selected{border:2px solid var(--green);padding:16px 18px;background:#e7eef4}.date-card .month{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.date-card .date-line{display:flex;gap:11px;align-items:baseline;margin:2px 0 5px}.date-card .number{font-size:36px;line-height:1.15;letter-spacing:-1px;font-weight:650}.date-card .weekday{font-size:14px;font-weight:500}.date-card .left{color:var(--green);font-size:11px}.date-card .selection-check{position:absolute;top:14px;right:14px;width:19px;height:19px;border:1px solid #cfd7df;border-radius:50%;background:white}.date-card.selected .selection-check{background:var(--green);border-color:var(--green);color:white;display:flex;align-items:center;justify-content:center}.date-card .selection-check .icon{width:12px;height:12px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:25px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:21px}.panel-head p{font-size:12px;color:var(--muted);margin-top:7px}.step-label{font-size:10px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:8px}.tag{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border-radius:5px;background:#e5ecf3;color:#495a69;font-size:10px;font-weight:650;white-space:nowrap}.tag.amber{background:var(--softorange);color:var(--orange)}.tag.red{background:#f7e5de;color:var(--red)}.tag.gray{background:#ebeef1;color:#5f6c78}.segmented{display:flex;align-items:center;gap:3px;padding:4px;background:#eef1f4;border-radius:8px;width:max-content}.segmented button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:7px 14px;border-radius:5px;min-height:35px}.segmented button.active{background:#fff;color:var(--green);box-shadow:0 1px 5px #1a263212;font-weight:650}.slot-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.zone{font-size:11px;color:#6c7b89}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.slot{min-height:64px;border:1px solid #d1d8df;border-radius:8px;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink);position:relative}.slot strong{font-size:17px;letter-spacing:-.4px;font-weight:550}.slot small{font-size:10px;color:#6a7987}.slot:hover:not(:disabled){border-color:var(--green);background:#e9f0f6}.slot.selected{background:var(--green);color:white;border-color:var(--green)}.slot.selected:hover:not(:disabled){background:#22405b}.slot.selected small{color:#ccdbe9}.slot:disabled{background:#f2f4f6;border-color:#e7ebee;color:#95a1ac}.slot:disabled small{color:#85939f}.slot.selected:after{content:'✓';position:absolute;right:8px;top:3px;font-size:10px;color:var(--lime)}.legend{display:flex;flex-wrap:wrap;gap:17px;margin-top:19px;font-size:10px;color:#687785}.legend span{display:flex;gap:6px;align-items:center}.dot{width:8px;height:8px;display:inline-block;border-radius:2px;border:1px solid #a7b6c3}.dot.selected{background:var(--green);border-color:var(--green)}.dot.off{background:#dfe4e8;border-color:#dfe4e8}.callout{display:flex;gap:11px;align-items:flex-start;font-size:12px;padding:15px;border-radius:9px;background:#edf1f5;color:#54616d;margin-top:21px}.callout .icon{width:16px;height:16px;margin-top:2px}.callout.amber{background:var(--softorange);color:#896021}.callout strong{display:block;margin-bottom:3px}.summary{position:sticky;top:22px;padding:0;overflow:hidden;box-shadow:var(--shadow)}.summary-top{padding:23px 24px 19px;background:#ebf0f5;border-bottom:1px solid var(--line)}.summary-top h3{font-size:22px}.summary-top p{font-size:12px;color:var(--muted);margin-top:7px}.summary-body{padding:21px 24px 23px}.empty-pick{font-size:13px;color:var(--muted);border:1px dashed #cbd5de;border-radius:9px;text-align:center;padding:23px 13px;margin-bottom:18px}.empty-pick .icon{display:block;margin:0 auto 10px;width:24px;height:24px;color:#7e8e9c}.selected-sets{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 17px}.chip{border:1px solid #d5dde5;background:#e9f0f6;color:var(--green);border-radius:5px;padding:5px 7px;font-size:12px;display:flex;align-items:center;gap:7px}.chip button{border:0;background:none;color:inherit;padding:1px 3px;line-height:1}.summary-row{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding:5px 0}.summary-row small{display:block;color:var(--muted);font-size:11px}.summary-row strong{white-space:nowrap}.camp-toggle{display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:17px;padding:16px 0;font-size:12px;cursor:pointer}.camp-toggle .icon{color:var(--green);width:24px;height:24px}.camp-toggle strong{display:block}.camp-toggle small{color:var(--muted);font-size:10px}.camp-toggle input{margin-left:auto;width:17px;height:17px;accent-color:var(--green);flex-shrink:0}.camp-form{margin-top:14px}.camp-form label{font-size:11px}.camp-form .form-grid{gap:9px}.camp-form input{padding:9px 6px;font-size:12px;min-width:0}.camp-form .field{margin-bottom:10px}.total{display:flex;justify-content:space-between;align-items:center;margin:19px 0 16px}.total span{font-size:13px;font-weight:600}.total strong{font-size:29px;font-weight:650;letter-spacing:-1px}.fine{text-align:center;font-size:10px;color:#6d7c8a;margin-top:11px}.below{margin:24px 0 0;display:flex;justify-content:center;align-items:center;gap:7px;color:var(--muted);font-size:11px}.footer{padding:25px 0;border-top:1px solid var(--line);background:#e7ebef}.footer .wrap{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;color:var(--muted)}.footer strong{color:var(--ink);font-size:12px}.footer button{border:0;background:none;padding:0;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}.inline-error{font-size:12px;color:var(--red);background:#fff1eb;border:1px solid #edd5ca;border-radius:7px;padding:11px;margin-top:13px}.admin-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:27px}.admin-title h1{font-size:35px;letter-spacing:-1.2px}.admin-title p{color:var(--muted);margin-top:8px}.admin-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:27px;overflow-x:auto}.admin-tabs button{border:0;border-bottom:3px solid transparent;background:none;padding:13px 18px;color:var(--muted);white-space:nowrap}.admin-tabs button.active{color:var(--green);border-bottom-color:var(--green);font-weight:650}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 26px}.stat{background:#fff;border:1px solid var(--line);padding:20px;border-radius:12px}.stat small{font-size:11px;color:var(--muted);display:block}.stat strong{font-size:30px;letter-spacing:-1px;font-weight:600;display:block;margin-top:4px}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.day-row{padding:21px 0;border-bottom:1px solid var(--line)}.day-row:first-child{padding-top:0}.day-row:last-child{padding-bottom:0;border-bottom:0}.day-row .row-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.day-row strong{font-size:15px}.day-row p{font-size:12px;color:var(--muted);margin-top:5px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.actions.right{justify-content:flex-end}.field{margin-bottom:16px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #d2d9df;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink);min-height:44px}.field input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--green)}.field textarea{resize:vertical}.field small{color:var(--muted);display:block;margin-top:5px;font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkline{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted);line-height:1.5;margin:17px 0}.checkline input{margin-top:3px;accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.muted{color:var(--muted)}.spacer{height:18px}.hr{border:0;border-top:1px solid var(--line);margin:22px 0}.table-wrap{overflow:auto}.bookings-table{border-collapse:collapse;width:100%;font-size:12px}.bookings-table th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:.6px;text-transform:uppercase;padding:12px;border-bottom:1px solid var(--line);font-weight:650;background:#f2f5f8}.bookings-table td{padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:top}.bookings-table td small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.filters{display:flex;gap:12px;align-items:center;margin-bottom:17px}.filters input,.filters select{border:1px solid var(--line);border-radius:8px;padding:10px;min-width:0;background:white;min-height:42px}.filters input{flex:1}.empty-state{text-align:center;padding:35px 25px;color:var(--muted)}.empty-state .icon{width:34px;height:34px;color:#788795;margin-bottom:12px}.empty-state h3{color:var(--ink);margin-bottom:10px}.empty-state p{font-size:13px}.empty-state .btn{margin-top:18px}.status-line{display:flex;align-items:center;gap:9px;font-size:12px;margin:13px 0}.status-line .icon{width:16px;height:16px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rate-box{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.rate-box small{display:block;color:var(--muted);font-size:11px}.rate-box strong{font-size:23px;font-weight:600;letter-spacing:-.7px}.boot{padding:80px 20px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(10px);padding:13px 20px;border-radius:9px;background:var(--green-dark);color:white;font-size:13px;max-width:min(92vw,500px);box-shadow:0 8px 35px #102e3830;opacity:0;transition:opacity .15s,transform .15s;pointer-events:none;z-index:100}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}dialog{border:0;border-radius:18px;background:#fff;padding:0;box-shadow:0 25px 80px #0003;max-height:92vh;max-width:620px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#0c292b88;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:25px 28px 19px;border-bottom:1px solid var(--line);gap:20px;position:sticky;top:0;background:#fff;z-index:1}.modal-head h2{font-size:25px;letter-spacing:-.8px}.modal-head p{font-size:12px;color:var(--muted);margin-top:8px}.close{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:21px;line-height:1;flex-shrink:0}.modal-body{padding:24px 28px 28px}.modal-body .callout{margin-top:0;margin-bottom:21px}.recap{padding:16px;background:#ecf1f6;border-radius:10px;margin-bottom:22px;font-size:12px}.recap strong{display:block;font-size:14px;margin-bottom:5px}.success-mark{width:58px;height:58px;border-radius:50%;background:#d7e4f0;color:var(--green);display:flex;align-items:center;justify-content:center;margin:3px auto 15px}.success-mark .icon{width:27px;height:27px}.success-title{text-align:center}.success-title h3{font-size:29px;margin-bottom:9px}.success-title p{font-size:13px;color:var(--muted);margin-bottom:23px}.reference{text-align:center;font:650 19px/1.5 ui-monospace,monospace;letter-spacing:1px;background:#edf1f5;border:1px dashed #b5c5d4;padding:12px;border-radius:8px;margin-bottom:22px}.calendar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-grid small{text-align:center;font-size:10px;color:var(--muted);padding:4px}.cal-day{aspect-ratio:1;border:1px solid #bacbda;border-radius:8px;background:#e5edf5;color:var(--green);font-weight:600}.cal-day:disabled{background:#f4f6f8;border-color:#ebeff2;color:#a3adb7}.cal-day.selected{background:var(--green);color:white}.share-text{width:100%;height:175px;padding:14px;border:1px solid var(--line);border-radius:8px;resize:none;font-size:13px;line-height:1.6;color:var(--ink)}.how-row{display:flex;gap:16px;margin-bottom:24px}.how-row .num{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dde7f0;color:var(--green);flex-shrink:0;font-weight:650}.how-row h3{font-size:17px;margin:4px 0 7px}.how-row p{font-size:13px;color:var(--muted)}.modal-table{width:100%;border-collapse:collapse;font-size:12px}.modal-table td{padding:9px 0;border-bottom:1px solid var(--line)}.modal-table td:last-child{text-align:right}.demo-note{margin-top:16px;font-size:10px;color:var(--muted);text-align:center}.pad-top{padding-top:10px}.hidden{display:none!important}.booking-card-mobile{display:none}.admin-slot-grid{grid-template-columns:repeat(4,1fr)}.admin-slot-grid .slot{font-size:12px}.mobile-bookbar{display:none}
@media(min-width:1450px){.hero-inner{min-height:365px}.hero h1{font-size:63px}}
@media(max-width:1000px){.wrap{padding-left:25px;padding-right:25px}.booking-layout{grid-template-columns:minmax(0,1fr) 305px;gap:18px}.panel{padding:20px}.summary{padding:0}.summary-top{padding:20px}.summary-body{padding:18px 20px}.hero h1{font-size:52px}.hero-inner{gap:20px}.admin-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.date-card{padding:14px}.date-card.selected{padding:13px}.navlinks{gap:22px}}
@media(max-width:760px){.wrap{padding-left:19px;padding-right:19px}.nav{height:82px;gap:10px}.brand img{width:133px;height:66px}.navlinks{gap:15px}.navlink{font-size:12px}.navlinks .how-nav{display:none}.navlinks .btn{font-size:11px;padding:9px 10px;min-height:37px;gap:5px}.navlinks .btn .icon{width:15px;height:15px}.topline{font-size:10px;padding:7px 13px}.hero-inner{grid-template-columns:1fr;min-height:0;padding-top:34px;padding-bottom:37px}.hero h1{font-size:48px;letter-spacing:-2px;max-width:360px}.hero p{font-size:13px;max-width:315px}.hero-art{display:none}.eyebrow{font-size:9px;letter-spacing:1.8px}.benefits-inner{padding:16px 12px}.benefit{gap:7px;align-items:flex-start}.benefit .icon{width:17px;height:17px;margin-top:2px}.benefit strong{font-size:10px}.benefit small{font-size:8px;line-height:1.3;display:block;margin-top:3px}.main{padding-top:30px;padding-bottom:38px}h2{font-size:25px}.section-intro{gap:10px;align-items:center;margin-bottom:18px}.section-intro p{font-size:12px}.section-intro .btn{font-size:10px;padding:9px 10px;white-space:nowrap;min-height:36px}.section-intro .btn .icon{width:14px;height:14px}.date-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:21px}.date-card{min-height:109px;padding:14px 15px}.date-card.selected{padding:13px 14px}.date-card .number{font-size:33px}.date-card .weekday{font-size:12px}.date-card .date-line{gap:9px}.booking-layout{grid-template-columns:1fr}.panel{border-radius:13px;padding:21px 18px}.panel-head h3{font-size:19px}.panel-head .tag{font-size:9px}.panel-head p{font-size:11px}.slot-grid{grid-template-columns:repeat(4,1fr);gap:8px}.slot{min-height:66px}.slot strong{font-size:16px}.slot small{font-size:9px}.slot-tools{gap:8px}.segmented button{font-size:11px;padding:6px 11px}.zone{font-size:10px}.summary{position:static;padding:0}.summary-top{padding:21px}.summary-body{padding:20px 21px}.callout{font-size:11px}.fine{font-size:10px}.summary-row{font-size:14px}.camp-toggle{font-size:13px}.camp-toggle small{font-size:11px}.total strong{font-size:31px}.footer .wrap{font-size:10px;flex-wrap:wrap;gap:10px}.footer strong{font-size:11px}.below{font-size:10px}.admin-title h1{font-size:30px}.admin-title p{font-size:12px}.admin-title .btn{font-size:11px;padding:10px;white-space:nowrap}.admin-title .btn .icon{display:none}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat strong{font-size:27px}.stat small{font-size:10px}.admin-tabs{margin-bottom:20px}.admin-tabs button{padding:11px 13px;font-size:12px}.admin-layout,.settings-grid{grid-template-columns:1fr}.admin-layout>.panel:last-child{order:-1}.admin-title{margin-bottom:21px}.day-row strong{font-size:14px}.day-row .btn{font-size:11px}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.filters select{flex:1;font-size:12px}.table-wrap{display:none}.booking-card-mobile{display:block;border-top:1px solid var(--line);padding:17px 0}.booking-card-mobile:first-child{border:0}.booking-card-mobile .top{display:flex;justify-content:space-between;gap:10px}.booking-card-mobile p{font-size:12px;color:var(--muted);margin-top:7px}.booking-card-mobile small{font-size:11px}.modal-head{padding:22px 21px 17px}.modal-head h2{font-size:23px}.modal-body{padding:21px}.form-grid{gap:11px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:16px;padding:10px}.camp-form input{font-size:14px}.mobile-bookbar{display:flex;position:fixed;left:16px;right:16px;bottom:14px;z-index:20;border-radius:12px;box-shadow:0 10px 40px #102e3b33;padding:12px 17px;align-items:center;justify-content:space-between;background:var(--green);color:white;border:1px solid #ffffff30}.mobile-bookbar small{font-size:10px;display:block;color:#cfdbe6}.mobile-bookbar strong{font-size:18px}.mobile-bookbar button{background:var(--lime);color:var(--green);border:0;border-radius:7px;padding:11px;font-size:12px;font-weight:650}.has-selection .footer{padding-bottom:100px}}
@media(max-width:365px){.wrap{padding-left:14px;padding-right:14px}.navlinks{gap:9px}.navlinks .navlink{font-size:11px}.brand img{width:115px}.hero h1{font-size:42px}.slot-grid{grid-template-columns:repeat(3,1fr)}.date-card .weekday{font-size:11px}.section-intro .btn span{display:none}.benefit .icon{display:none}.panel-head{gap:8px}.panel-head .tag{font-size:8px}.form-grid{grid-template-columns:1fr}.camp-form .form-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.header,.hero,.benefits,.main,.footer,.topline,#toast,.mobile-bookbar{display:none!important}body{background:white}dialog[open]{position:static;display:block;width:100%;max-width:none;max-height:none;box-shadow:none}dialog::backdrop{display:none}.modal-head .close,.modal-body .actions,.modal-body .demo-note,.modal-body .btn{display:none}.modal-head{position:static}}

/* V1.1 — external weather on the booking form. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.weather-panel{background:#fff;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:16px;margin:0 0 28px;overflow:hidden;min-width:0}
.weather-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px 16px;flex-wrap:wrap}
.weather-heading-left{display:flex;align-items:center;gap:13px;min-width:0}
.weather-emblem{display:flex;align-items:center;justify-content:center;width:43px;height:43px;flex:0 0 43px;border-radius:12px;background:#edf1f4;color:var(--green)}
.weather-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.weather-kicker{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--muted);margin-bottom:5px}
.weather-heading h3{font-size:21px;letter-spacing:-.4px;margin:0}
.weather-link{font-size:12px;font-weight:650;color:var(--green);text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-height:42px;display:inline-flex;align-items:center;gap:12px}
.weather-link:hover{background:#ecf1f5}
.weather-date-row{background:#f0f3f6;padding:12px 26px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--green)}
#weather-selected-date{font-weight:600;line-height:1.6}
.weather-toggle{background:none;border:0;color:var(--green);font-weight:650;font-size:12px;min-height:38px;cursor:pointer;padding:5px 0;white-space:nowrap;display:flex;gap:12px;align-items:center}
.weather-toggle span{font-size:21px;font-weight:400}
.weather-body{padding:17px 26px 20px;min-width:0}
.weather-panel [hidden]{display:none!important}
.weather-explainer{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 13px}
.weather-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.weather-tabs button{border:1px solid var(--line);border-radius:7px;background:white;color:var(--green);padding:10px 13px;min-height:42px;cursor:pointer;font-weight:600;font-size:12px}
.weather-tabs button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
.weather-feed{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:white;min-width:0;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.weather-table{display:block;width:100%;min-width:715px;height:545px;border:0;background:#fff}
.weather-graph{display:block;width:100%;min-width:715px;height:auto;min-height:275px;background:white}
.weather-range-note{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0 0}
.weather-footnote{display:flex;justify-content:space-between;gap:8px 22px;flex-wrap:wrap;font-size:10px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.weather-footnote a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.weather-disclaimer{font-size:10px;line-height:1.7;color:var(--muted);margin:8px 0 0}
.weather-offline,.weather-unavailable{padding:24px;font-size:13px;line-height:1.8;background:#fff7e6;color:#634a18;border-radius:9px;margin-bottom:12px}
.weather-scroll-hint{font-size:11px;line-height:1.6;color:var(--green);margin:9px 0 0;display:none}
.weather-panel a:focus-visible,.weather-panel button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.weather-checkout-note{font-size:12px;line-height:1.6;padding:12px 14px;border:1px solid var(--line);border-radius:9px;margin:0 0 17px;color:var(--muted)}
.weather-checkout-note a{color:var(--green);font-weight:600;text-underline-offset:3px}
@media(max-width:820px){.weather-scroll-hint{display:block}}
@media(max-width:650px){.weather-heading{padding:17px 17px 14px;gap:12px}.weather-heading h3{font-size:18px}.weather-kicker{font-size:8px;letter-spacing:1.2px}.weather-emblem{width:36px;height:36px;flex-basis:36px}.weather-heading-left{gap:10px}.weather-link{font-size:11px;padding:9px 11px}.weather-date-row{padding:10px 17px;gap:5px 12px;font-size:12px}.weather-toggle{font-size:11px}.weather-body{padding:14px 16px 17px}.weather-tabs button{font-size:11px;padding:9px 11px}.weather-explainer{font-size:11px}.weather-range-note{font-size:10px}.weather-table{height:545px}.weather-panel{margin-bottom:21px;border-radius:13px}.weather-footnote{font-size:10px}.weather-unavailable,.weather-offline{padding:17px;font-size:12px}}

/* V1.2 — no third-party weather loads in the browser preview. */
.weather-primary-link{background:var(--green);border-color:var(--green);color:white}
.weather-primary-link:hover{background:#17334c;color:white}
.weather-safe-summary strong{font-size:14px;line-height:1.6;display:block;margin-bottom:5px}
.weather-safe-summary .weather-explainer{margin-bottom:0;max-width:760px}
.weather-copy-row{display:flex;align-items:center;gap:10px 15px;flex-wrap:wrap;margin-top:13px}
.weather-copy-button{border:1px solid var(--line);background:white;border-radius:7px;color:var(--green);padding:9px 13px;min-height:40px;font-size:12px;font-weight:600;cursor:pointer}
.weather-copy-button:hover{background:#f0f3f6}
#weather-copy-status{font-size:11px;color:var(--green);line-height:1.6}
.weather-copy-fallback{margin-top:12px}
.weather-copy-fallback label{font-size:12px;line-height:1.6;display:block;margin-bottom:6px;color:var(--muted)}
.weather-copy-fallback input{width:100%;max-width:100%;box-sizing:border-box;font-size:12px;border:1px solid var(--line);border-radius:7px;padding:11px;color:var(--green);background:white}
@media(max-width:650px){.weather-safe-summary strong{font-size:12px}.weather-primary-link{width:100%;justify-content:center;min-height:44px}.weather-copy-button{min-height:44px}.weather-safe-summary .weather-explainer{font-size:11px}}

/* V1.4 — navy, ocean blue, pale blue and white. Original logo unchanged. */
:root{--ink:#132f50;--muted:#586e86;--green:#1560a7;--green-dark:#103758;--lime:#bceaff;--cream:#f1f7fc;--line:#dce7f1}
.hero{background:linear-gradient(115deg,#0a2b4c 0%,#114f85 62%,#167cbb 100%)}.hero h1{color:white}.hero h1 span{color:#a5ddff}.hero .eyebrow{color:#c6e8ff}.hero p{color:#d0e5f7}.set-card{background:linear-gradient(150deg,#ffffff15,#a4deff14);border-color:#bee6ff44;color:#fff}.set-card .label{color:#c3e4ff}.set-card .big,.set-card .big small{color:#d3efff}.set-card .line{border-color:#c4e9ff44}.set-card .line span{color:#d1e8fa}.little-badge{background:#bceaff;color:#15466b}.benefits{background:#eaf4fd}.date-card.selected{background:#e8f3ff;border-color:#1560a7}.date-card.selected .selection-check{background:#1560a7;color:white}.summary-top{background:#eaf4ff}.camp-toggle{background:#f0f7ff}.callout:not(.amber){background:#edf5fd;color:#345979}.slot.selected{background:#1560a7;border-color:#1560a7;color:white}.slot:hover:not(:disabled){background:#eff7ff}.slot.selected:hover:not(:disabled){background:#124e8c}.slot.selected small{color:#e8f5ff}.slot:disabled{background:#f1f5f9;border-color:#e0e8ef;color:#8494a4}.slot:disabled small{color:#667c90}.btn:hover{background:#124e8c}.btn.secondary:hover,.btn.ghost:hover{background:#eaf4ff}.btn:disabled{background:#e0e8ef;color:#617789}.footer{background:#e9f1f8}.tag:not(.amber):not(.red):not(.gray){background:#e3f1ff;color:#195b97}
.camp-rule{font-size:11px;color:#456785;padding:0 0 16px;line-height:1.65}.camp-space-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:12px}.camp-availability{background:#edf6ff;border:1px solid #dae9f7;border-radius:9px;padding:10px 12px;margin:12px 0}.camp-availability small{display:block;font-size:10px;line-height:1.6;color:var(--muted);padding-top:6px}.camp-skier{font-size:12px;align-items:flex-start}.camp-skier input{flex:0 0 auto;margin-top:3px}.camp-form .field small{display:block;line-height:1.6;margin-top:6px;font-size:11px}.camp-capacity-banner{display:flex;align-items:center;gap:15px;background:#e8f3ff;border:1px solid #c7e0f6;border-radius:12px;padding:17px;margin-bottom:20px}.camp-capacity-banner div{flex:1}.camp-capacity-banner strong{display:block;font-size:15px}.camp-capacity-banner span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.camp-capacity-banner>b{font-size:34px;color:var(--green)}.capacity-track{height:5px;background:#e5edf5;border-radius:3px;overflow:hidden;margin:12px 0}.capacity-track span{display:block;height:100%;background:#319bdb;border-radius:3px}
.recipient-box{margin:0 0 20px;border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.recipient-box legend{font-weight:700;padding:0 7px;font-size:13px;color:var(--green)}.recipient-box .checkline{margin-bottom:0;font-size:12px}.notification-row{padding:17px 0;border-bottom:1px solid var(--line)}.notification-row>strong{display:block;font-size:12px;overflow-wrap:anywhere}.notification-row>small{display:block;margin:5px 0 10px;color:var(--muted)}.notification-row .tag{display:inline-flex;white-space:normal}.alert-preview{padding:20px;background:#edf6ff;border:1px solid #cce3f6;border-radius:12px;font:14px/1.9 'Segoe UI',Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.settings-grid>.panel{min-width:0}.field input[type=tel]{min-width:0}
.weather-links{display:flex;gap:8px;flex-wrap:wrap}.weather-windy-link{background:#e8f3ff;color:#15518a;border-color:#bddcf4}.weather-windy-link:hover{background:#d8edff}.weather-primary-link:hover{background:#124e8c}.weather-heading .weather-link{white-space:nowrap}.weather-copy-button{min-height:44px}
@media(max-width:650px){.camp-space-row{font-size:11px}.recipient-box{padding:14px}.camp-capacity-banner{padding:14px;gap:10px}.camp-capacity-banner strong{font-size:13px}.camp-capacity-banner span{font-size:11px}.camp-form input{font-size:16px}.admin-tabs{overflow-x:auto;white-space:nowrap}.admin-tabs button{flex:0 0 auto}.alert-preview{font-size:13px;padding:15px}.weather-links{width:100%}.weather-links .weather-link{width:auto;flex:1;justify-content:center;min-height:44px;font-size:11px;padding:9px 10px}.weather-copy-row{gap:8px}}
@media(max-width:365px){.weather-links .weather-link{font-size:10px;padding:9px 7px;gap:5px}}

/* V1.5 — direct-phone photo manager and public Latest Photos gallery. */
.photo-section{background:#dfe9f2;border-top:1px solid #c8d7e4;padding:58px 0 68px}.photo-heading{align-items:end}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.photo-tile{position:relative;overflow:hidden;border:0;border-radius:14px;background:#17324b;aspect-ratio:4/3;padding:0;color:white;text-align:left;box-shadow:0 8px 24px #10263a16}.photo-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.photo-tile:hover img{transform:scale(1.025)}.photo-tile.featured{grid-column:span 2;grid-row:span 2}.photo-caption{position:absolute;left:0;right:0;bottom:0;padding:35px 15px 13px;background:linear-gradient(transparent,#0b1f32dc);font-size:13px;font-weight:600}.photo-favourite{position:absolute;top:12px;left:12px;background:#b5d0e9;color:#17324b;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.7px}.photo-more{display:block;margin:22px auto 0}.photo-empty{background:#eef4f9;border:1px dashed #aec3d5;border-radius:16px;padding:40px;text-align:center;color:#5c6c7b}.photo-empty strong,.photo-empty span{display:block}.photo-empty strong{font-size:17px;color:#17324b;margin:10px 0 4px}.photo-empty-mark{width:48px;height:48px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#d7e5f1;color:#17324b}.photo-admin-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.photo-picker{display:block;border:2px dashed #9bb6cc;border-radius:13px;background:#eef5fb;margin:0 0 18px;cursor:pointer}.photo-picker input{position:absolute;opacity:0;pointer-events:none}.photo-picker>span{min-height:126px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#17324b}.photo-picker .icon{width:25px;height:25px}.photo-picker small{color:#607384}.photo-queue-empty{padding:25px 10px;text-align:center;color:var(--muted);font-size:13px}.photo-queue-card,.managed-photo{display:grid;grid-template-columns:132px minmax(0,1fr);gap:15px;padding:15px 0;border-top:1px solid var(--line)}.photo-queue-card:first-child,.managed-photo:first-child{border-top:0}.photo-queue-card>img,.managed-photo-image img{display:block;width:132px;height:112px;object-fit:cover;border-radius:9px;background:#e4e9ed}.photo-queue-body label,.managed-photo label{display:block;font-size:11px;font-weight:650;color:var(--muted)}.photo-queue-body input[type=text],.photo-queue-body input:not([type]),.managed-photo input[type=text],.managed-photo input:not([type]){display:block;width:100%;margin-top:5px;border:1px solid #d2d9df;border-radius:7px;padding:9px;color:var(--ink);font-size:13px}.photo-queue-body .checkline,.managed-photo .checkline{display:flex;margin:10px 0;align-items:center}.upload-track{height:7px;border-radius:999px;overflow:hidden;background:#e4e9ed}.upload-track span{height:100%;display:block;background:#1560a7;transition:width .15s}.upload-state{display:block;color:var(--muted);margin:5px 0}.upload-state.error{color:var(--red)}.managed-photo-image{border:0;background:none;padding:0}.managed-photo .row-top{display:flex;gap:7px;justify-content:flex-start;margin-bottom:9px}.managed-photo-list{display:grid}.lightbox{text-align:center;touch-action:pan-y}.lightbox img{display:block;max-width:100%;max-height:62vh;margin:0 auto;border-radius:10px;object-fit:contain;background:#10263a}.lightbox p{margin:14px auto 0;max-width:520px}.lightbox-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}
@media(max-width:900px){.photo-admin-layout{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-tile.featured{grid-column:span 2;grid-row:auto}}
@media(max-width:600px){.photo-section{padding:39px 0 46px}.photo-heading{align-items:flex-start}.photo-heading>.btn{display:none}.photo-grid{gap:8px}.photo-tile{border-radius:10px}.photo-caption{font-size:11px;padding:28px 10px 9px}.photo-favourite{top:8px;left:8px;font-size:8px}.photo-empty{padding:28px 18px}.photo-queue-card,.managed-photo{grid-template-columns:96px minmax(0,1fr);gap:11px}.photo-queue-card>img,.managed-photo-image img{width:96px;height:94px}.photo-admin-layout .panel{min-width:0}.lightbox img{max-height:56vh}.lightbox-actions .btn{font-size:11px;padding:9px 11px}}
.photo-preview-error{display:grid;place-items:center;width:132px;height:112px;border-radius:9px;background:#f7e5de;color:var(--red);font-size:11px;font-weight:700}@media(max-width:600px){.photo-preview-error{width:96px;height:94px}}
