:root{--lavender:#ddd2ee;--lavender-soft:#eee8f7;--cream:#f5ede0;--paper:#fffbf4;--paper-step:#f3ebdf;--plum:#5d4485;--plum-deep:#3e2c5b;--ink:#2a2233;--soft-ink:#615769;--white:#fff;--font:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--step-small:1rem;--step-body:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-lead:clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head:clamp(2rem, 1.4rem + 2.4vw, 3.25rem);--step-display:clamp(2.75rem, 1.5rem + 4.6vw, 5.75rem);--m:clamp(16px, 2.4vw, 36px);--gap:clamp(96px, 11vw, 168px);--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--lavender);color:var(--ink);font-family:var(--font);font-size:var(--step-body);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}img{max-width:100%;height:auto;display:block}h1,h2,h3{letter-spacing:-.04em;text-wrap:balance;margin:0;font-weight:500;line-height:.98}p{margin:0}a{color:inherit;text-underline-offset:.2em;transition:text-underline-offset .2s var(--ease), color .2s;text-decoration-thickness:1.5px}a:hover{text-underline-offset:.32em;color:var(--plum)}:focus-visible{outline:3px solid var(--plum);outline-offset:3px}::selection{background:var(--lavender);color:var(--ink)}.button{background:var(--plum);min-height:56px;color:var(--white);transition:transform .2s var(--ease), background .2s;justify-content:center;align-items:center;padding:0 32px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.button:hover{background:var(--plum-deep);color:var(--white);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-alt{background:var(--lavender);color:var(--plum-deep)}.button-alt:hover{background:var(--plum)}.badge{background:var(--plum-deep);width:46px;height:46px;color:var(--white);transition:transform .3s var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:-20px;right:-20px}.button:hover .badge{transform:rotate(-12deg)scale(1.08)}.button-alt .badge{background:var(--plum)}.stripe{flex:none;min-width:0;height:56px;display:flex;overflow:hidden}.stripe span{background:var(--plum);flex:none;width:28px}.stripe span:nth-child(2n){background:var(--paper)}.hero{grid-template-columns:1fr 1fr;gap:12px;min-height:100svh;padding:12px;display:grid}.hero-card{background:var(--paper);flex-direction:column;min-width:0;min-height:calc(100svh - 24px);display:flex}.hero-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:clamp(40px,6vw,88px) clamp(20px,4vw,64px);display:flex}.wordmark{font-size:var(--step-lead);letter-spacing:-.03em;color:var(--plum);margin-bottom:clamp(24px,3vw,40px);font-weight:500}.hero h1{font-size:var(--step-display);letter-spacing:-.05em;max-width:9ch;line-height:.92}.hero-lead{font-size:var(--step-lead);max-width:28ch;margin:36px 0 40px;line-height:1.35}.hero-actions{flex-wrap:wrap;justify-content:center;gap:24px 28px;display:flex}.hero-links{font-size:var(--step-small);flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:40px;display:flex}.hero-photos{background:var(--ink);height:calc(100svh - 24px);margin:0;position:sticky;top:12px;overflow:hidden}.hero-photos img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.6s;position:absolute;inset:0}.hero-photos img.is-on{opacity:1;animation:8s linear both drift}@keyframes drift{0%{transform:scale(1.06)}to{transform:scale(1)}}.call{background:var(--cream);padding:var(--gap) var(--m)}.ticket{background:var(--paper);grid-template-columns:5fr 6fr;max-width:1240px;margin:0 auto;display:grid}.ticket-main{flex-direction:column;gap:24px;padding:clamp(28px,4vw,56px);display:flex}.ticket-main h2{font-size:var(--step-head);max-width:12ch}.ticket-lead{font-size:var(--step-lead);max-width:30ch;line-height:1.35}.ticket-price{background:var(--lavender);color:var(--plum-deep);font-size:var(--step-lead);letter-spacing:-.02em;font-variant-numeric:tabular-nums;align-self:flex-start;padding:10px 16px;font-weight:500}.ticket-terms{font-size:var(--step-small);flex-direction:column;gap:12px;max-width:44ch;margin:auto 0 0;padding:24px 0 0;list-style:none;display:flex}.ticket-form{--f-bg:var(--white);--f-ink:var(--ink);--f-label:var(--ink);--f-place:#8a8092;--f-invalid:var(--plum);--b-bg:var(--plum);--b-ink:var(--white);background:var(--lavender-soft);border-left:6px dotted var(--cream);padding:clamp(28px,4vw,52px);scroll-margin-top:24px;position:relative}.ticket-form:before,.ticket-form:after{content:"";background:var(--cream);border-radius:50%;width:34px;height:34px;position:absolute;left:-20px}.ticket-form:before{top:-17px}.ticket-form:after{bottom:-17px}.enquiry{flex-direction:column;gap:14px;display:flex}.enquiry .pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.enquiry label{font-size:var(--step-small);color:var(--f-label);margin-bottom:6px;font-weight:500;display:block}.enquiry label span{opacity:.8;font-weight:400}.enquiry input:not([type=checkbox]),.enquiry select,.enquiry textarea{background:var(--f-bg);width:100%;min-height:52px;color:var(--f-ink);font:inherit;border:0;border-radius:0;padding:12px 14px;font-size:1rem}.enquiry select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23615769' stroke-width='2'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.enquiry textarea{resize:vertical;min-height:120px}.enquiry ::placeholder{color:var(--f-place)}.enquiry input:focus-visible,.enquiry select:focus-visible,.enquiry textarea:focus-visible{outline:3px solid var(--f-invalid);outline-offset:0}.enquiry.was-checked :invalid{outline:3px solid var(--f-invalid);outline-offset:-3px}.enquiry .field{margin:0}.enquiry .check{align-items:center;gap:12px;display:flex}.enquiry .check input{width:22px;height:22px;accent-color:var(--plum);margin:0}.enquiry .check label{font-size:var(--step-body);margin:0;font-weight:400}.honey{clip-path:inset(50%);position:absolute;left:-9999px}.submit{background:var(--b-bg);min-height:56px;color:var(--b-ink);font:inherit;cursor:pointer;transition:transform .2s var(--ease), background .2s;border:0;margin-top:6px;font-weight:500}.submit:hover{background:var(--plum-deep);transform:translateY(-2px)}.submit:disabled{opacity:.7;cursor:progress;transform:none}.status:empty{display:none}.status.is-error{color:var(--plum-deep);font-weight:500}.bench{min-height:100svh;padding:60px max(var(--m), calc((100% - 1240px) / 2));background:var(--ink);justify-content:space-between;align-items:flex-start;gap:24px;display:flex;position:relative;overflow:hidden}.bench-photo{object-fit:cover;object-position:45% 50%;width:100%;height:100%;transition:transform 6s var(--ease);position:absolute;inset:0;transform:scale(1.04)}.bench:hover .bench-photo,.bench:focus-within .bench-photo{transform:scale(1)}.services-card,.job-card{background:var(--paper);flex-direction:column;padding:32px;display:flex;position:relative}.services-card{gap:20px;width:min(500px,42%)}.services-card h2{font-size:var(--step-head)}.price-list{flex-direction:column;gap:18px;margin:8px 0 0;display:flex}.price-list>div{grid-template-columns:1fr auto;gap:2px 16px;display:grid}.price-list dt{font-weight:500}.price-list dd{margin:0}.price-list .price{text-align:right;color:var(--plum);font-variant-numeric:tabular-nums;font-weight:500}.price-list>div:first-child dt,.price-list>div:first-child .price{font-size:var(--step-lead);letter-spacing:-.02em;line-height:1.2}.price-list .note{font-size:var(--step-small);color:var(--soft-ink);grid-column:1/-1;max-width:40ch}.job-card{--f-bg:var(--paper-step);--f-ink:var(--ink);--f-label:var(--ink);--f-place:#8a8092;--f-invalid:var(--plum);--b-bg:var(--plum);--b-ink:var(--white);gap:14px;width:min(480px,40%);scroll-margin-top:24px}.job-card h3{font-size:var(--step-lead);letter-spacing:-.02em;line-height:1.2}.job-card>p{margin-bottom:8px}.job-card .stripe{height:20px;margin:-32px -32px 8px}.videos{background:var(--cream);padding:var(--gap) var(--m)}.videos>*{max-width:1240px;margin-inline:auto}.videos-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px;margin-bottom:clamp(48px,5vw,72px);display:flex}.videos-head h2{font-size:var(--step-head)}.video-lists{grid-template-columns:1fr 1fr;gap:64px;display:grid}.video-list h3{font-size:var(--step-lead);letter-spacing:-.02em;color:var(--plum);margin-bottom:24px;line-height:1.2}.video-list ul{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.video a{grid-template-columns:40% 1fr;align-items:center;gap:18px;text-decoration:none;display:grid}.video-lead a{grid-template-columns:1fr;gap:14px}.video-lead{margin-bottom:12px}.video-thumb{aspect-ratio:16/9;background:var(--ink);display:block;overflow:hidden}.video-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease)}.video a:hover .video-thumb img{transform:scale(1.05)}.video-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-weight:500;line-height:1.3;transition:color .2s;display:-webkit-box;overflow:hidden}.video-lead .video-title{font-size:var(--step-lead);letter-spacing:-.02em;-webkit-line-clamp:2}.video a:hover .video-title{color:var(--plum)}.video-meta{font-size:var(--step-small);color:var(--soft-ink);margin-top:6px;display:block}.footer{padding:calc(var(--gap) * .9) var(--m) 48px}.postcard{background:var(--paper);grid-template-columns:1fr 1fr;gap:48px;max-width:1100px;margin:0 auto;padding:clamp(40px,5vw,72px) clamp(24px,4vw,56px) 28px;display:grid;position:relative}.scallops{aspect-ratio:24;align-items:flex-start;display:flex;position:absolute;bottom:100%;left:0;right:0;overflow:hidden}.scallops span{aspect-ratio:1;background:var(--paper);border-radius:50%;flex:1 0 0;min-width:0}.postcard-message h2{font-size:var(--step-head);max-width:9ch;margin-bottom:24px}.postcard-message p{max-width:32ch}.postcard-address{flex-direction:column;justify-content:flex-end;gap:28px;padding-left:clamp(0px,3vw,48px);display:flex;position:relative}.stamp{aspect-ratio:3/4;object-fit:cover;background:var(--lavender);width:96px;transition:transform .3s var(--ease);align-self:flex-end;padding:6px;transform:rotate(3deg)}.stamp:hover{transform:rotate(0)scale(1.05)}.postcard-address ul{font-size:var(--step-lead);letter-spacing:-.02em;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.imprint{text-align:center;font-size:var(--step-small);color:var(--soft-ink);grid-column:1/-1;margin-top:24px}html.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:var(--delay,0s);transform:translateY(24px)}html.js [data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js [data-reveal]{opacity:1;transition:none;transform:none}.hero-photos img.is-on{animation:none}.bench-photo{transition:none;transform:none}.button,.submit,.stamp,.badge,.video-thumb img{transition:none}}@media (width<=899px){.hero{grid-template-columns:1fr;gap:0}.hero-photos{order:-1;height:48svh;position:relative;top:0}.hero-card{min-height:0;margin:-24px 12px 0;position:relative}.stripe{height:40px}.hero h1{font-size:clamp(2.6rem,12vw,4rem)}.ticket{grid-template-columns:1fr}.ticket-form{border-left:0;border-top:6px dotted var(--cream)}.ticket-form:before,.ticket-form:after{top:-20px;bottom:auto}.ticket-form:before{left:-17px}.ticket-form:after{left:auto;right:-17px}.bench{background:var(--paper);flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:0}.services-card{width:auto;padding:var(--gap) var(--m) 48px;order:-1}.bench-photo{height:70svh;position:relative}.job-card{width:auto;margin:-80px 12px 12px;padding:28px 20px}.job-card .stripe{margin:-28px -20px 8px}.video-lists{grid-template-columns:1fr;gap:72px}.postcard{grid-template-columns:1fr;gap:36px}.scallops{aspect-ratio:12}.scallops span:nth-child(n+7){display:none}.postcard-address{padding-left:0}.stamp{width:72px;position:absolute;top:-12px;right:0}}@media (width<=560px){.enquiry .pair{grid-template-columns:1fr}}
