:root{color:#331339;--ink:#331339;--purple:#631673;--cream:#fffaf2;--yellow:#ffce43;--serif:Georgia, "Times New Roman", serif;background:#fffaf2;font-family:Segoe UI,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}:focus-visible{outline-offset:4px;outline:3px solid #087f78}.shell{width:min(1170px,100% - 72px);margin-inline:auto}.skip{z-index:3;background:#fff;padding:12px;position:absolute;top:8px;left:8px;transform:translateY(-150%)}.skip:focus{transform:none}.site-header{background:var(--cream)}.header-inner,.footer-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.header-inner{min-height:83px}.brand{color:var(--purple);font:bold italic 30px/.95 var(--serif);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand img{object-fit:contain;mix-blend-mode:multiply;width:58px;height:58px}.brand-sub{letter-spacing:.13em;margin-top:6px;font:800 8px/1.1 system-ui,sans-serif;display:block}nav{align-items:center;gap:clamp(14px,3vw,35px);font-size:.9rem;font-weight:700;display:flex}nav>a:not(.button){text-decoration:none}nav>a:hover:not(.button){text-decoration:underline}.nav-toggle{display:none}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:13px 21px;font-weight:750;line-height:1.3;text-decoration:none;display:inline-flex}.button-purple{background:var(--purple);color:#fff}.button-purple:hover{background:#471053}.button-yellow{background:var(--yellow);color:#2a1030}.button-yellow:hover{background:#ffe18b}.hero{isolation:isolate;color:#fff;background:#332032;align-items:center;min-height:clamp(480px,61vw,655px);display:grid;position:relative;overflow:hidden}.hero video,.hero-shade{width:100%;height:100%;position:absolute;inset:0}.hero video{object-fit:cover;object-position:center 45%}.hero-shade{background:linear-gradient(90deg,#25122af5 0%,#25122ad9 29%,#25122a78 63%,#25122a2b 100%)}.hero-inner{padding-block:60px 83px;position:relative}.eyebrow{letter-spacing:.14em;align-items:center;gap:10px;font-size:.75rem;font-weight:800;line-height:1.4;display:flex}.eyebrow span{background:#b872bb;border-radius:50%;flex:none;width:21px;height:4px;transform:rotate(-9deg)}.hero-eyebrow{color:#fff2b7}.hero-eyebrow span{background:var(--yellow)}h1,h2{font-family:var(--serif);letter-spacing:-.055em;font-weight:700;line-height:.98}h1{margin:18px 0 22px;font-size:clamp(3.6rem,8.7vw,8rem)}h1 em{color:var(--yellow)}.hero-copy{max-width:460px;margin:0 0 27px;font-size:clamp(1rem,1.55vw,1.22rem);line-height:1.55}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px 24px;display:flex}.hero-link{text-underline-offset:5px;font-size:.93rem;font-weight:750}.tagline{font:bold italic clamp(1rem, 2.55vw, 1.7rem)/1.15 var(--serif);background:#f9dfa0;justify-content:center;align-items:center;gap:clamp(8px,3vw,44px);padding:15px 10px;display:flex}.tagline b{color:#784385;font-size:.65em}.activities,.booking{padding-block:clamp(52px,8vw,92px)}.section-label{color:var(--purple);margin:0 0 15px}h2{margin:0;font-size:clamp(2.65rem,5vw,4.7rem)}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px;display:flex}.section-heading p{max-width:275px;margin:0;line-height:1.5}.rooms-heading h2{text-wrap:balance}.yellow{background:#ffedb7}.teal{background:#d1ece4}.pink{background:#f9dce3}.text-link{text-underline-offset:4px;font-size:.88rem;font-weight:800}.studio{background:#eee5f2;padding-block:clamp(32px,6vw,68px)}.studio-inner,.booking{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,6vw,84px);display:grid}.studio img{aspect-ratio:16/9;object-fit:cover;border-radius:20px;height:auto}.studio p:not(.eyebrow),.booking>div>p:not(.eyebrow){max-width:415px;margin-block:19px 21px;line-height:1.58}.booking{align-items:start}.booking>div{padding-top:14px}form{background:#fff;border:1px solid #e5d6e5;border-radius:20px;gap:13px;padding:clamp(18px,3vw,29px);display:grid}.booking>.booking-follow-up{background:radial-gradient(at 100% 0,#ffedb7,#0000 62%),#fff;border:1px solid #e5d6e5;border-radius:20px;padding:clamp(24px,4vw,42px);box-shadow:0 14px 32px #33133912}.booking-follow-up-icon{color:var(--purple);margin-bottom:18px;display:block}.booking-follow-up h3{color:var(--ink);font:700 clamp(1.85rem, 4vw, 2.75rem)/1.06 var(--serif);letter-spacing:-.035em;margin:0}.booking>.booking-follow-up>p:not(.eyebrow){margin:14px 0 0}.booking-requested-service{color:var(--purple);background:#eee5f2;border-radius:999px;padding:5px 12px;font-weight:750;display:inline-block}form label{gap:5px;font-size:.88rem;font-weight:700;display:grid}form :is(input,select,textarea){width:100%;min-width:0;color:var(--ink);background:#fffcf8;border:1px solid #bfa9c1;border-radius:8px;padding:9px 10px;font-size:.95rem;font-weight:400}form textarea{resize:vertical}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}form .button{justify-self:start}.optional{color:#67536c;font-size:.75rem;font-weight:400}.form-note{color:#67536c;margin:0;font-size:.78rem}.form-note:empty{display:none}.footer{color:#fff8ee;background:#331339;padding-block:28px;font-size:.88rem;line-height:1.5}.footer a{overflow-wrap:anywhere;text-underline-offset:4px}.footer address{font-style:normal}.footer-contact{gap:3px;display:grid}@media (width<=610px){.shell{width:calc(100% - 34px)}.header-inner{gap:10px;min-height:67px}.brand{gap:5px;font-size:22px}.brand img{width:39px;height:39px}.brand-sub{margin-top:3px;font-size:6px}.hero{min-height:515px}.hero video{object-position:57% center}.hero-shade{background:linear-gradient(90deg,#25122ae8,#25122aa8 65%,#25122a69)}.hero-inner{padding-block:44px 75px}.hero-copy{max-width:340px}.section-heading,.footer-inner{flex-direction:column;align-items:start}.studio-inner,.booking{grid-template-columns:1fr}}@media (width<=360px){h1{font-size:3.15rem}.form-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){[data-reveal]{transition:opacity .52s,translate .52s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0s)}.awaiting-reveal{opacity:0;translate:0 22px}.awaiting-reveal:focus-within{opacity:1;transition:none;translate:none}.button,.button span{transition:transform .22s,background-color .22s}.button:focus-visible span{transform:translate(3px,-3px)}.button:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px)}.button:hover span{transform:translate(3px,-3px)}}}.maker-wall{padding-block:clamp(52px,8vw,92px)}.maker-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.maker-piece{border:1px solid #33133923;border-radius:8px;padding:11px 11px 0;box-shadow:0 5px #3313390d}.maker-piece summary{cursor:pointer;list-style:none}.maker-piece summary::-webkit-details-marker{display:none}.maker-piece img{aspect-ratio:16/9;object-fit:cover;border-radius:4px;width:100%;height:auto}.maker-title{font:bold clamp(1.17rem, 2vw, 1.65rem)/1.15 var(--serif);justify-content:space-between;align-items:center;gap:8px;padding:14px 5px;display:flex}.maker-plus{background:#fff9;border-radius:50%;flex:0 0 29px;place-items:center;height:29px;display:grid}.maker-plus:before{content:"+";font:700 18px/1 system-ui,sans-serif}.maker-piece[open] .maker-plus:before{content:"−"}.maker-notes{border-top:1px dashed #33133945;margin:0 5px;padding:10px 0 15px;font-size:.92rem;line-height:1.5}.maker-notes p{margin:0}.maker-notes p+p{margin-top:9px}.process{background:#e5f0ea;padding-block:clamp(36px,7vw,78px)}.process-inner{grid-template-columns:.75fr 1.25fr;align-items:center;gap:clamp(24px,6vw,76px);display:grid}.process-inner>div>p:last-child{max-width:34ch;margin-bottom:0;line-height:1.58}.comparison{--split:50%;background:#fffaf2;border:1px solid #33133923;border-radius:16px;min-width:0;margin:0;padding:10px}.comparison-images{aspect-ratio:16/9;border-radius:8px;position:relative;overflow:hidden}.comparison-images img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-divider{top:0;bottom:0;left:var(--split);background:#fffaf2;width:3px;position:absolute;translate:-50%;box-shadow:0 0 7px #33133980}.comparison-controls{padding:12px 5px 5px}.comparison-controls label{margin:0 0 5px;font-size:.82rem;font-weight:750;display:block}.comparison-inputs{justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;display:flex}.comparison-inputs input{min-width:0;min-height:36px;accent-color:var(--purple);cursor:ew-resize;flex:1}@media (prefers-reduced-motion:no-preference) and (hover:hover){.maker-piece{transition:translate .22s,rotate .22s}.maker-piece:first-child:not([open]){rotate:-1deg}.maker-piece:nth-child(3):not([open]){rotate:1deg}.maker-piece:not([open]):hover{translate:0 -4px;rotate:0deg}}@media (width<=730px){.process-inner{grid-template-columns:1fr}.maker-grid{gap:10px}}@media (width<=520px){.maker-grid{grid-template-columns:1fr;gap:16px}}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.room{background:#fffdf8;border:1px solid #33133924;border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.atelier{--room-colour:#60366d;--door-wash:#ecdbf0}.creators{--room-colour:#8d420f;--door-wash:#ffe1a0}.lab{--room-colour:#17645c;--door-wash:#ccebe0}.room-scene{aspect-ratio:5/3;background:var(--door-wash);color:var(--room-colour);position:relative;overflow:hidden}.room-scene img{object-fit:cover;width:100%;height:100%}.room-video{object-fit:cover;opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.room-video-playing .room-video{opacity:1}.room-doodle{pointer-events:none;filter:drop-shadow(0 2px 2px #33133980);width:clamp(75px,31%,130px);position:absolute;bottom:4px;left:5px;overflow:visible}.room-doodle path{stroke-linecap:round;stroke-linejoin:round}.doodle-line,.doodle-spark{fill:none;stroke:#fffaf2;stroke-width:3px}.doodle-pop{fill:var(--door-wash);stroke:#fffaf2;stroke-width:2.5px}.doodle-dot{fill:#ffce43;stroke:#fffaf2;stroke-width:1.5px}.room-number,.room-icon{background:var(--door-wash);position:absolute;box-shadow:0 2px 8px #33133930}.room-number{letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:.68rem;font-weight:800;top:13px;left:13px}.room-icon{border-radius:50%;place-items:center;width:40px;height:40px;display:grid;bottom:13px;right:13px}.room-icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.room-play{color:inherit;border:0}.room-play .pause-symbol,.room-video-playing .room-play .play-symbol{display:none}.room-video-playing .room-play .pause-symbol{display:inline}.room-body{flex-direction:column;flex:1;align-items:flex-start;padding:20px clamp(16px,2.3vw,26px) 23px;display:flex}.room-body p{margin:0 0 15px;font-size:.94rem;line-height:1.55}.room-body .room-audience{color:var(--room-colour);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.7rem;font-weight:800}.room-body h3{font:700 clamp(1.5rem, 2.8vw, 2.12rem)/1.02 var(--serif);letter-spacing:-.035em;margin:0 0 10px}.room-tags{flex-wrap:wrap;gap:5px;margin:0 0 19px;padding:0;list-style:none;display:flex}.room-tags li{background:var(--door-wash);color:var(--room-colour);border-radius:999px;padding:4px 8px;font-size:.71rem;font-weight:700}.room-ages{border-top:1px solid #33133924;width:100%;margin:0 0 17px;padding-top:11px}.room-ages h4{color:var(--room-colour);margin:0 0 6px;font-size:.77rem}.room-ages ul{flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;font-size:.77rem;line-height:1.5;list-style:none;display:flex}.room-ages p{color:#67536c;margin:7px 0 0;font-size:.77rem;line-height:1.45}.room-body a{margin-top:auto}.gatherings{background:#f3e9f3;border-radius:14px;grid-template-columns:1fr 1fr;gap:22px 30px;margin-top:18px;padding:20px 24px;display:grid}.gatherings h3{font:bold 1.35rem/1.12 var(--serif);margin:0 0 5px}.gatherings p{margin:0 0 8px;font-size:.91rem;line-height:1.45}@media (prefers-reduced-motion:no-preference){.room-video{transition:opacity .2s}.room-in-view .room-scene>img:first-child{animation:room-photo-pan 3.4s ease-out var(--reveal-delay,0s) both}.room-in-view .doodle-line{stroke-dasharray:1;animation:doodle-draw .85s ease-out calc(var(--reveal-delay,0s) + .22s) both}.room-in-view :is(.doodle-pop,.doodle-dot,.doodle-spark){transform-box:fill-box;transform-origin:50%;animation:doodle-pop .65s cubic-bezier(.2, .8, .3, 1.25) calc(var(--reveal-delay,0s) + .68s) both}.room-in-view .room-icon{animation:room-icon-arrive .62s cubic-bezier(.2, .75, .25, 1) var(--reveal-delay,0s) both}.room-icon svg{transition:transform .24s}.room:focus-within .room-icon svg{transform:rotate(-10deg)}@media (hover:hover) and (pointer:fine){.room:hover .room-icon svg{transform:rotate(-10deg)}}@keyframes room-photo-pan{0%{transform:scale(1.13)translate(2%,-2%)}to{transform:scale(1)}}@keyframes room-icon-arrive{0%{opacity:0;transform:translateY(9px)rotate(-12deg)}to{opacity:1;transform:none}}@keyframes doodle-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes doodle-pop{0%{opacity:0;transform:translateY(10px)rotate(-14deg)scale(.55)}to{opacity:1;transform:none}}}@media (width<=690px){.room-grid,.gatherings{grid-template-columns:1fr}}.pricing{background-color:#f6eee3;background-image:radial-gradient(at 3% 15%,#dc8b7430,#0000 46%),radial-gradient(at 95% 90%,#71aa973d,#0000 48%),radial-gradient(circle,#60473f18 .75px,#0000 1px);background-size:auto,auto,12px 12px;padding-block:clamp(48px,7vw,84px);position:relative;overflow:hidden}.pricing>.shell{position:relative}.pricing-supplies{opacity:.19;pointer-events:none;width:clamp(150px,21vw,330px);height:auto;position:absolute}.pricing-supplies-left{top:3%;left:-28px}.pricing-supplies-right{bottom:1%;right:-32px}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.pricing-rooms{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-events{margin-top:18px}.price-card{border:1px solid var(--price-accent);background:var(--price-paper);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.price-yellow{--price-accent:#bf841f;--price-paper:#fff5d4;--price-header:#f2c557;--price-text:#3b2507}.price-coral{--price-accent:#9a3732;--price-paper:#fff0e7;--price-header:#a64537;--price-text:#fff}.price-purple{--price-accent:#631673;--price-paper:#f4eaf7;--price-header:#631673;--price-text:#fff}.price-teal{--price-accent:#285a54;--price-paper:#e9f3ec;--price-header:#34665d;--price-text:#fff}.price-card header{background:var(--price-header);color:var(--price-text);padding:16px 20px}.price-card h3{font:700 clamp(1.35rem, 3vw, 1.95rem)/1.12 var(--serif);margin:0}.price-card .price-room-number{letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:.71rem;font-weight:800}.price-card-body{flex-direction:column;flex:1;align-items:flex-start;padding:16px 20px 19px;display:flex}.price-card-body p{margin:0 0 13px;font-size:.91rem;line-height:1.45}.price-card-body .price-rate{margin-bottom:6px}.price-rate strong{font:700 2rem/1 var(--serif);margin-right:2px}.price-plans{width:100%;margin:0 0 14px;font-size:.88rem}.price-plans div{border-top:1px solid #33133924;justify-content:space-between;gap:10px;padding:8px 0;display:flex}.price-plans dt,.price-plans dd{font-weight:750}.price-plans span{font-size:.76rem;font-weight:400;display:block}.price-plans dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.price-card-body a{margin-top:auto}@media (width>=691px){.pricing-rooms{row-gap:0}.pricing-rooms .price-card{grid-row:span 2;grid-template-rows:subgrid;display:grid}}@media (width<=830px){.header-inner{flex-wrap:wrap}.nav-toggle{min-width:44px;min-height:44px;color:var(--purple);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-toggle:not([hidden])[aria-expanded=false]+nav{display:none}.header-inner nav{flex-direction:column;flex:0 0 100%;align-items:stretch;gap:0;padding-bottom:16px}.header-inner nav>a:not(.button){border-top:1px solid #e5d6e5;align-items:center;min-height:44px;padding-inline:10px;display:flex}.header-inner nav>.button{align-self:start;margin-top:8px}}@media (width<=610px){.pricing-grid{grid-template-columns:1fr}.pricing-supplies{opacity:.12}.pricing-supplies-left{top:0;left:auto;right:-18px}}@media (width<=690px){.pricing-rooms{grid-template-columns:1fr}}
