.workshop-moments{margin:32px 0 22px;padding:12px 6px 8px}.workshop-moments .workshop-moments-note{margin:0 0 20px;font:400 15px/1.5 Outfit,sans-serif;text-align:center;color:var(--muted)}.workshop-polaroids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}.workshop-polaroids li{min-width:0;padding:8px 4px 14px}.workshop-polaroid{margin:0;padding:11px 11px 17px;background:#fffaf0;border:1px solid #fffdf8;box-shadow:1px 2px 2px #10385516,3px 11px 17px -8px #10385540;transform:rotate(-1.8deg);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.workshop-polaroids li:nth-child(2) .workshop-polaroid{transform:rotate(1.2deg)}.workshop-polaroids li:nth-child(3) .workshop-polaroid{transform:rotate(-.8deg)}.workshop-polaroid img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover}.workshop-polaroid figcaption{margin:14px 0 0;color:var(--navy);font:400 clamp(24px,2.2vw,30px)/1.1 Yellowtail,cursive;text-align:center}.booking-practical-band .workshop-moments{margin-top:38px}.about-making .workshop-moments{margin-block:34px 0}@media(hover:hover)and (pointer:fine){.workshop-polaroids li:hover .workshop-polaroid{transform:translateY(-6px) rotate(0);box-shadow:2px 4px 3px #10385516,5px 17px 21px -10px #10385550}}@media(max-width:760px){.workshop-moments{margin:25px -8px 12px;padding-inline:0}.workshop-polaroids{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#10385550 transparent;padding:8px 12px 19px}.workshop-polaroids li{flex:0 0 min(76vw,280px);padding:7px 3px;scroll-snap-align:center}.workshop-polaroid{padding:9px 9px 17px}.workshop-polaroid figcaption{font-size:25px}}@media(prefers-reduced-motion:reduce){.workshop-polaroid{transition:none}.workshop-polaroids li:hover .workshop-polaroid{transform:none}}.booking-guest-picker{padding:22px;border:1px solid #123e5630;background:#fffaf08c;border-radius:8px}.booking-party-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.booking-party-heading>span{font-size:13px;color:#4b6674}.booking-party-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-party-chip{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border:1px solid #123e5626;background:#fffaf0;border-radius:6px;min-width:0}.booking-party-label{font-size:15px;font-weight:600}.booking-party-label small{display:block;margin-top:3px;font-size:11px;font-weight:400;color:#4b6674}.booking-party-stepper{display:flex;align-items:center;gap:7px}.booking-party-stepper output{display:block;width:28px;text-align:center;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.booking-party-chip button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid #123e5640;border-radius:50%;color:inherit;cursor:pointer;font-size:22px;flex-shrink:0;transition:background .16s ease,border-color .16s ease}.booking-party-chip button:not(:disabled):hover{background:#e3ece9;border-color:#123e5680}.booking-party-chip button:disabled{opacity:.3;cursor:default}.booking-guest-picker button:focus-visible{outline:3px solid #bf4c40;outline-offset:3px}.booking-party-limit,.booking-child-rate{font-size:13px;margin:12px 0 0}.booking-party-area{margin-top:24px}.booking-summary-header{display:flex;align-items:center;gap:18px}.booking-price-lines{border-top:1px dashed #123e5630;padding-top:18px}.booking-price-lines>div{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px}.booking-price-lines dt,.booking-price-lines dd{margin:0}.booking-summary-inclusions{display:flex;align-items:center;gap:14px}.booking-summary-inclusions img{width:64px;height:64px;object-fit:contain}.booking-child-ages{display:grid;gap:12px;margin-top:20px;padding-top:16px;border-top:1px dashed #123e5638}.booking-child-ages>p{margin:0 0 3px;font-size:14px;line-height:1.5}.booking-child-ages>small{font-size:12px;color:#4b6674;line-height:1.5}.booking-child-age{padding:13px 15px 10px;background:#fffaf0b8;border:1px solid #123e5626;border-radius:6px;min-width:0}.booking-child-age-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.booking-child-age-heading label{font-weight:600;font-size:14px}.booking-child-age-heading>span{font-size:13px;color:#4b6674}.booking-child-age-controls{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:20px;align-items:center}.booking-child-age-controls input[type=range]{width:100%;min-width:0;height:44px;padding:0;border:0;accent-color:#123e56;background:transparent;cursor:pointer}.booking-child-age-number{display:flex;gap:7px;align-items:center;font-size:12px}.booking-child-age-number input{width:48px;min-height:44px;padding:7px;border:1px solid #123e5640;border-radius:4px;font:inherit;font-size:16px;color:inherit;background:#fffcf5}.booking-child-age input:focus-visible{outline:3px solid #bf4c40;outline-offset:3px}.booking-notice-help{font-size:13px;line-height:1.6;padding:14px 17px;border-left:3px solid #b95c4c;background:#fffaf080}.booking-review-ages{display:block;margin-top:5px;font-size:12px;font-weight:400}@media(max-width:600px){.booking-guest-picker{padding:16px}}@media(max-width:650px){.booking-party-counts{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.booking-party-chip button{transition:none}}.booking-flow-page .booking-step-form{animation:booking-panel-arrive .34s cubic-bezier(.2,.75,.3,1) both}.booking-flow-page .booking-child-age{animation:booking-panel-arrive .24s ease both}.booking-flow-page .booking-experience{transition:transform .22s ease,border-color .18s ease,box-shadow .22s ease}.booking-flow-page .booking-experience:focus-visible,.booking-flow-page .round-control:focus-visible,.booking-flow-page .booking-step-actions .text-link:focus-visible,.booking-flow-page .booking-next-session button:focus-visible{outline:3px solid #b45d52;outline-offset:4px}.booking-flow-page .booking-next-session{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:13px 16px;margin:0 0 20px;border:1px dashed #123e5640;background:#fffaf075;border-radius:4px;font-size:13px}.booking-flow-page .booking-next-session .text-link{min-height:44px;text-align:left}.booking-flow-page .booking-time-options{overflow-wrap:anywhere}.booking-flow-page .booking-detail-fields input,.booking-flow-page .booking-detail-fields textarea{scroll-margin-top:140px}.booking-flow-page .booking-month-controls .round-control{min-width:44px;min-height:44px;flex-shrink:0}.booking-flow-page .booking-confirmation-facts dd,.booking-flow-page .booking-review-list dd{overflow-wrap:anywhere;min-width:0}@media(hover:hover)and (prefers-reduced-motion:no-preference){.booking-flow-page .booking-experience:hover{transform:translateY(-3px)}.booking-flow-page .booking-experience:hover img{transform:rotate(-3deg)}.booking-flow-page .booking-experience img{transition:transform .24s ease}}@media(max-width:420px){.booking-flow-page .booking-step-actions{flex-wrap:wrap;gap:14px}.booking-flow-page .booking-step-actions>.button{width:100%;justify-content:center}.booking-flow-page .booking-step-actions>.text-link{min-height:44px}.booking-flow-page .booking-child-age-controls{gap:12px}.booking-flow-page .booking-progress button{padding-inline:3px}.booking-flow-page .booking-confirmation-facts>div{flex-wrap:wrap;gap:8px}}@keyframes booking-panel-arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.booking-flow-page .booking-step-form,.booking-flow-page .booking-child-age{animation:none}.booking-flow-page .booking-experience,.booking-flow-page .booking-experience img{transition:none}}.booking-checkout-complete .calendar-export-button{max-width:100%;white-space:normal}.booking-checkout-complete .calendar-export-note{display:block;max-width:48ch;margin:10px auto 18px;font-size:12px;line-height:1.6;color:var(--muted)}.booking-session-entry{margin-bottom:12px}.booking-session-entry>button{width:100%}.booking-flow-page .booking-time-options .booking-session-entry>button:disabled{opacity:1;color:#697982;background:#f9f4e16b;border-style:dashed;cursor:default}.booking-flow-page .booking-time-options .booking-session-entry>button:disabled:hover{transform:none;background:#f9f4e16b;color:#697982}.booking-session-entry .source-session-note{margin:0 0 18px;padding:0 12px 9px}.booking-session-entry .source-session-note>span{display:none}.booking-date-key{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0 0;font-size:11px;color:#617a85}.booking-date-key>span:first-child{color:#123e55}.booking-flow-page .booking-date-grid button.has-availability:not(.is-selected){background:#123e5517;box-shadow:inset 0 -3px #123e55}.booking-flow-page .booking-date-grid button.is-reference:not(.is-selected):not(:disabled){background:#fbf3e46b;border:1px dashed #123e5550;color:#617a85}.booking-flow-page .booking-date-grid button.is-selected,.booking-flow-page .booking-date-grid button.is-selected:hover{background:var(--navy);color:var(--cream)}.booking-flow-page .booking-month-status{padding:18px 21px;margin:0 0 24px;border-left:3px solid #a18b64;background:#fbf5e8;border-radius:0 7px 7px 0}.booking-flow-page .booking-month-status.has-dates{border-left-color:var(--navy);background:#f5f5ea}.booking-month-status>strong{font:600 16px/1.5 Outfit,sans-serif;color:var(--navy)}.booking-flow-page .booking-month-status>p{font-size:14px;line-height:1.7;margin:6px 0 0;max-width:66ch}.booking-month-status .text-link{display:inline-flex;align-items:center;margin-top:8px;font-size:14px}.booking-flow-page .booking-date-grid button.has-availability:not(.is-selected){background:#e1ebe5;border:1px solid #416172;color:var(--navy);box-shadow:none;font-weight:650}.booking-flow-page .booking-date-grid button.has-availability:not(.is-selected):hover{background:#c9ded7;border-color:var(--navy)}.booking-flow-page .booking-date-grid button.is-unavailable,.booking-flow-page .booking-date-grid button.is-unavailable:hover{background:transparent;border:1px solid transparent;box-shadow:none;color:#7b8d91;opacity:.65;cursor:default}.booking-flow-page .booking-date-grid button.is-selected,.booking-flow-page .booking-date-grid button.is-selected:hover{background:var(--navy);border-color:var(--navy);color:var(--cream);opacity:1}.booking-flow-page .booking-date-key{align-items:center;gap:12px 18px;font-size:12px;line-height:1.6}.booking-date-key>span{display:inline-flex;align-items:center;gap:7px}.booking-date-key>span:before{content:"";display:inline-block;flex:none;width:13px;height:13px;border-radius:50%;box-sizing:border-box}.booking-key-open:before{background:#e1ebe5;border:1px solid #416172}.booking-key-unavailable:before{border:1px solid #a8b4b5;background:transparent;opacity:.65}.booking-time-empty{padding:20px 0 12px;max-width:34ch}.booking-time-empty img{height:35px;width:35px;object-fit:contain;opacity:.6;margin-bottom:8px}.booking-flow-page .booking-time-empty p{font-size:14px;line-height:1.8;margin:10px 0}.booking-flow-page .booking-time-note{font-size:12px;line-height:1.7;max-width:48ch}.booking-flow-page .booking-step-actions>.button:disabled,.booking-flow-page .booking-step-actions>.button:disabled:hover{background:#d4dedd;color:#536a72;border-color:#becdca;box-shadow:none;transform:none;cursor:not-allowed;opacity:1}.booking-reference-timetable{margin:24px 0;border-block:1px solid #123e552b}.booking-reference-timetable>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:66px;padding:14px 0;cursor:pointer;color:var(--navy);font:500 14px/1.5 Outfit,sans-serif;box-sizing:border-box}.booking-reference-timetable>summary::-webkit-details-marker{display:none}.booking-reference-timetable>summary>span>small{display:block;font-size:11px;font-weight:400;color:#706046;margin-top:3px}.booking-reference-timetable>summary>span:last-child{font-size:23px;line-height:1;transition:transform .18s ease}.booking-reference-timetable[open]>summary>span:last-child{transform:rotate(45deg)}.booking-reference-timetable>summary:focus-visible{outline:2px solid var(--navy);outline-offset:4px}.booking-reference-body{padding-bottom:20px}.booking-flow-page .booking-reference-body>p{font-size:13px;line-height:1.8;margin:0 0 18px;max-width:75ch}.booking-reference-body>ul{list-style:none;padding:0;margin:0 0 16px}.booking-reference-body li{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(0,1.5fr);gap:16px;padding:15px 0;border-top:1px solid #123e551c}.booking-reference-body li>div>strong{font-size:13px;line-height:1.6;font-weight:550}.booking-reference-body li small{display:block;font-size:11px;line-height:1.7;color:#637780;margin-top:3px;overflow-wrap:anywhere}.booking-reference-body li>div:last-child{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:start}.booking-reference-body li>div:last-child>span{flex:1;min-width:95px}.booking-reference-body li b{font-size:14px;font-weight:550;font-variant-numeric:tabular-nums}.booking-reference-body>.text-link{display:inline-flex;align-items:center;font-size:13px;min-height:44px}@media(max-width:650px){.booking-flow-page .booking-month-status{padding:16px 17px}.booking-month-status>strong{font-size:15px}.booking-flow-page .booking-month-status>p{font-size:13px}.booking-reference-body li{grid-template-columns:minmax(0,1fr);gap:10px}.booking-reference-body li>div:last-child{gap:12px}.booking-time-empty{max-width:48ch;padding-top:0}.booking-flow-page .booking-date-key{font-size:11px;gap:12px}.booking-reference-timetable>summary{font-size:13px}}@media(prefers-reduced-motion:reduce){.booking-reference-timetable>summary>span:last-child{transition:none}}.booking-session-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 36px);overflow-y:auto;box-sizing:border-box;margin:auto;padding:clamp(24px,5vw,40px);border:1px solid #b3a58e;border-radius:10px;background:#fbf3e2 url(/assets/cotton-paper-v1.png) center/700px;color:#123e54;box-shadow:0 20px 75px #123e5440}.booking-session-dialog::backdrop{background:#082c46a8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.booking-session-dialog h2{font:400 clamp(35px,5vw,44px)/1.2 Yellowtail,cursive;margin:10px 0 13px}.booking-session-dialog>p{font:400 14px/1.8 Outfit,sans-serif;margin:0 0 18px;color:#47616a}.booking-session-dialog .content-eyebrow{font-size:10px;margin:0;letter-spacing:.12em}.booking-session-dialog-date{padding:21px 0;border-block:1px solid #123e5430;display:grid;gap:8px}.booking-session-dialog-date strong{font:600 clamp(22px,4vw,29px)/1.3 Outfit,sans-serif}.booking-session-dialog-date span{font:500 17px/1.4 Outfit,sans-serif}.booking-session-dialog dl{margin:16px 0 20px}.booking-session-dialog dl>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:13px;padding:10px 0;font:400 14px/1.7 Outfit,sans-serif}.booking-session-dialog dt{color:#516a72}.booking-session-dialog dd{margin:0;font-weight:500}.booking-session-dialog dd small{display:block;font-size:12px;margin-top:5px}.booking-session-dialog .booking-session-dialog-note{font-size:12px}.booking-session-dialog-actions{display:grid;gap:12px}.booking-session-dialog-actions>.button{width:100%;white-space:normal;padding-inline:15px;font-size:14px;min-height:50px}.booking-session-dialog-actions>.text-link{background:transparent;border:0;cursor:pointer;color:#123e54;padding:9px;font:500 13px/1.5 Outfit,sans-serif}.booking-flow-page .booking-carried-date{padding:15px 18px;border:1px solid #174c6545;border-left:3px solid #174c65;background:#fffaf0b3;border-radius:4px;font-size:14px;line-height:1.7;margin-bottom:24px}.booking-carried-date strong{display:block}.booking-date-layout>.workshop-calendar{align-self:start}@media(max-width:480px){.booking-session-dialog dl>div{grid-template-columns:1fr;gap:3px}.booking-session-dialog-actions>.button{font-size:13px}.booking-flow-page .booking-carried-date{font-size:13px}}
