:root{--ink:#171816;--cream:#f3f0e7;--paper:#fbfaf6;--lime:#d9ff69;--blue:#7699e8;--pink:#f3a9bd;--line:rgba(23,24,22,.2);--muted:#67685f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}body.menu-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 2.4vw;background:rgba(251,250,246,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.08em;font-size:.82rem}.brand img{width:39px;height:39px;object-fit:cover}.site-header nav{display:flex;align-items:center;gap:clamp(14px,1.7vw,28px);font-size:.69rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--ink);transition:.25s}.site-header nav a:hover:after{right:0}.menu-toggle{display:none;background:none;border:0}.hero{min-height:100vh;padding:130px 4vw 48px;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;background:var(--cream)}.hero-copy{padding-left:3vw}.eyebrow{margin:0 0 24px;font-size:.7rem;font-weight:700;letter-spacing:.15em}.hero h1,.section h2{margin:0;font-size:clamp(3.5rem,7.4vw,8.5rem);line-height:.86;letter-spacing:-.07em;font-weight:700}.hero h1 em{font-family:Georgia,serif;font-weight:400}.lead{max-width:580px;margin:40px 0;font-size:clamp(1.05rem,1.5vw,1.35rem)}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 27px;border:1px solid var(--ink);border-radius:0;background:transparent;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.button.dark{background:var(--ink);color:white}.button:hover{transform:translateY(-2px)}.text-link,.text-button{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.text-link:hover,.text-button:hover{text-decoration:underline}.hero-image{position:relative;margin:0;align-self:stretch;min-height:650px}.hero-image img{height:100%;object-fit:cover}.hero-image figcaption{position:absolute;right:-18px;bottom:60px;padding:8px 12px;background:var(--lime);font-family:Georgia,serif;font-style:italic;transform:rotate(-5deg)}.marquee{overflow:hidden;border-block:1px solid var(--ink);padding:16px 0;background:var(--lime);font-weight:700;letter-spacing:.08em;white-space:nowrap}.marquee div{width:max-content;animation:marquee 26s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:clamp(90px,11vw,170px) 7vw;scroll-margin-top:80px}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;align-items:start;margin-bottom:70px}.section-heading h2{grid-column:2;font-size:clamp(3.2rem,6vw,7rem)}.section-heading>p:last-child{grid-column:3;max-width:420px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink)}.course-card{min-height:520px;padding:38px;display:flex;flex-direction:column;background:var(--pink)}.course-card.blue{background:var(--blue)}.course-card>span{font-size:.72rem}.course-card h3{margin:80px 0 20px;font-size:clamp(2rem,3vw,3.7rem);line-height:.95;letter-spacing:-.04em}.course-card p{max-width:410px}.course-card>div{display:flex;justify-content:space-between;margin-top:auto;padding-top:30px;border-top:1px solid rgba(0,0,0,.28);font-size:.8rem}.text-button{margin-top:25px;padding:0;border:0;background:none;text-align:left;cursor:pointer}.image-card{position:relative;padding:0;overflow:hidden;color:white}.image-card img{height:100%;object-fit:cover}.image-overlay{position:absolute;inset:0;padding:38px;display:flex!important;flex-direction:column;justify-content:flex-end;border:0!important;background:linear-gradient(transparent 20%,rgba(0,0,0,.7))}.image-overlay h3{margin:20px 0}.text-button.light{color:white}.voucher-section{background:var(--blue)}.voucher-card{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center}.voucher-card h2{font-size:clamp(3.6rem,6vw,7rem)}.voucher-card>div:first-child>p:not(.eyebrow){max-width:530px;margin:35px 0}.voucher-ticket{aspect-ratio:1.55;padding:34px;background:var(--cream);box-shadow:18px 20px 0 var(--ink);transform:rotate(2.5deg);display:flex;flex-direction:column;justify-content:space-between}.voucher-ticket span,.voucher-ticket small{font-size:.67rem;letter-spacing:.15em}.voucher-ticket b{font-size:clamp(2.8rem,5vw,5.2rem);line-height:.7;letter-spacing:-.08em}.open-studio{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;background:var(--ink);color:var(--paper)}.studio-intro h2{font-size:clamp(3.8rem,6vw,7rem)}.studio-intro>p:not(.eyebrow):not(.price){max-width:560px;margin:35px 0}.studio-intro ul{list-style:none;margin:35px 0;padding:0;border-top:1px solid rgba(255,255,255,.25)}.studio-intro li{display:grid;grid-template-columns:50px 1fr;gap:10px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.25)}.studio-intro li span{color:var(--lime);font-size:.7rem}.price{margin-top:45px!important;font-size:2.6rem;font-weight:700}.price small{font-size:.8rem;font-weight:400}.booking-panel{min-width:0;background:var(--paper);color:var(--ink);min-height:680px;padding:clamp(25px,4vw,60px)}.booking-lock{max-width:560px;margin:100px auto}.booking-lock h3,.calendar-head h3,dialog h3{font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin:0 0 20px;letter-spacing:-.05em}.booking-lock form{margin-top:45px}.booking-lock label,.booking-lock input{display:block}.booking-lock label,#booking-form>label:not(.check){font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.booking-lock form>div{display:grid;grid-template-columns:1fr auto;margin-top:8px}.booking-lock input,#booking-form>input{width:100%;height:52px;padding:0 15px;border:1px solid var(--ink);background:white}.form-message{min-height:24px;color:#ad2f2f}.calendar-head{display:flex;justify-content:space-between;gap:20px}.calendar-head>div:last-child{display:flex;gap:8px}.icon-button{width:43px;height:43px;border:1px solid var(--ink);background:transparent;cursor:pointer}.calendar-note{font-size:.72rem}.calendar-note span{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--lime);border:1px solid var(--ink)}.calendar-note .busy-dot{background:#ccc}.calendar-scroll{overflow:auto}.calendar-grid{min-width:710px;display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day-column{display:grid;gap:5px}.day-title{position:sticky;top:0;padding:10px 5px;background:var(--paper);text-align:center;font-size:.68rem;font-weight:700}.day-title b{display:block;font-size:1rem}.slot{height:34px;border:1px solid #c7c7c0;background:var(--lime);font-size:.64rem;cursor:pointer}.slot:hover:not(:disabled){background:var(--ink);color:white}.slot:disabled{background:#ddd;color:#999;cursor:not-allowed;text-decoration:line-through}.small-note{margin-top:22px;color:var(--muted);font-size:.69rem}.shop{background:var(--cream)}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:2vw}.shop-grid figure{margin:0}.shop-grid img{height:min(65vw,760px);object-fit:cover}.shop-grid figure:nth-child(2){margin-top:14vw}.shop-grid figcaption{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--ink);font-size:.76rem;text-transform:uppercase}.about{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;background:var(--lime)}.about-photo img{height:min(70vw,800px);object-fit:cover}.about-copy h2{font-size:clamp(3.6rem,6vw,7rem)}.about-copy p:not(.eyebrow){max-width:600px;font-size:1.08rem}.about-copy .text-link{display:inline-block;margin-top:20px}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.faq .section-heading{display:block;margin:0}.faq .section-heading h2{font-size:clamp(3.3rem,5.5vw,6rem)}details{border-top:1px solid var(--ink)}details:last-child{border-bottom:1px solid var(--ink)}summary{position:relative;padding:25px 55px 25px 0;font-size:1.25rem;font-weight:700;cursor:pointer;list-style:none}summary:after{content:"+";position:absolute;right:10px;font-size:1.8rem;font-weight:400}details[open] summary:after{content:"−"}details p{max-width:700px;margin:0;padding:0 50px 28px 0;color:var(--muted)}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;background:var(--blue)}.contact-main h2{font-size:clamp(4.2rem,8vw,9rem)}.contact-main>p:not(.eyebrow){max-width:510px;margin:35px 0}.light-button{background:var(--paper)}.contact-meta{display:flex;flex-direction:column;justify-content:flex-end}.contact-meta>div{padding:24px 0;border-top:1px solid rgba(0,0,0,.3)}.contact-meta small{font-weight:700;letter-spacing:.1em}.contact-meta p{margin:8px 0}.contact-meta em{font-size:.78rem}footer{min-height:190px;padding:40px 3vw;display:flex;align-items:flex-end;justify-content:space-between;background:var(--ink);color:white;font-size:.65rem;letter-spacing:.08em}.footer-brand img{filter:none}dialog{width:min(580px,calc(100% - 30px));padding:42px;border:1px solid var(--ink);background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(0,0,0,.72)}.dialog-close{position:absolute;right:20px;top:12px;border:0;background:none;font-size:2rem;cursor:pointer}#booking-form{display:grid;gap:9px;margin-top:30px}.check{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:.8rem}.check input{margin-top:5px}.payment-placeholder{padding:14px;background:var(--cream);font-size:.75rem}.wide{width:100%;margin-top:10px}.toast{position:fixed;right:25px;bottom:25px;z-index:100;padding:18px 22px;background:var(--lime);color:var(--ink);box-shadow:5px 5px 0 var(--ink);font-weight:700;transform:translateY(150%);transition:.3s}.toast.show{transform:translateY(0)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.site-header nav{display:none;position:fixed;inset:82px 0 0;padding:50px 7vw;background:var(--lime);flex-direction:column;align-items:flex-start;gap:18px}.site-header nav.open{display:flex}.site-header nav a{font-size:clamp(1.7rem,5vw,3.5rem);line-height:1}.menu-toggle{display:grid;gap:7px;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:26px;height:1px;background:var(--ink)}.hero{grid-template-columns:1fr;padding-top:120px}.hero-image{min-height:70vh}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.course-grid{grid-template-columns:1fr 1fr}.image-card{grid-column:1/-1;min-height:620px}.open-studio,.about,.contact{grid-template-columns:1fr}.booking-panel{min-height:auto}.faq{grid-template-columns:1fr}.faq .section-heading{margin-bottom:60px}}
@media(max-width:700px){.site-header{height:70px;padding-inline:18px}.site-header nav{inset:70px 0 0}.brand span{font-size:.7rem}.hero{padding:110px 20px 45px}.hero-copy{padding:0}.hero h1,.section h2{letter-spacing:-.055em}.hero-image{min-height:520px}.hero-image figcaption{right:-5px}.section{padding:85px 20px}.section-heading{display:block}.section-heading h2{margin:22px 0 28px}.course-grid{grid-template-columns:1fr}.image-card{grid-column:auto}.course-card{min-height:480px;padding:28px}.voucher-card{grid-template-columns:1fr}.voucher-ticket{margin-top:30px}.open-studio{padding-inline:20px}.booking-panel{padding:25px 16px}.booking-lock{margin:30px auto}.booking-lock form>div{grid-template-columns:1fr}.shop-grid{grid-template-columns:1fr}.shop-grid figure:nth-child(2){margin-top:30px}.shop-grid img{height:105vw}.about-photo img{height:120vw}.contact-main .button{font-size:.65rem;padding-inline:15px}footer{align-items:flex-start;gap:30px;flex-direction:column}.footer-brand{display:none}dialog{padding:28px 20px}.toast{left:15px;right:15px;bottom:15px}.actions{align-items:flex-start;flex-direction:column}.hero h1{font-size:16vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee div{animation:none}}

/* Brand details */
.cup-annotation{position:absolute;top:15%;right:5%;width:52%;color:var(--lime);pointer-events:none}
.cup-annotation>span{display:block;text-align:center;font-family:"Bradley Hand","Segoe Print",cursive;font-size:clamp(18px,2vw,30px);line-height:1.2;transform:rotate(7deg)}
.cup-annotation svg{display:block;width:100%;height:auto;overflow:visible}
.cup-annotation path{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:600;stroke-dashoffset:600}
.hero-image.visible .cup-annotation path{animation:draw-cup-arrow 2.4s ease-in-out .5s forwards}
@keyframes draw-cup-arrow{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.hero-image.visible .cup-annotation path{animation:none;stroke-dashoffset:0}}
.contact-meta em{display:inline-block;line-height:1.2;vertical-align:top}
.play-color{color:var(--lime);animation:play-colors 6s steps(1,end) infinite}
@keyframes play-colors{0%,100%{color:var(--lime)}33.333%{color:#a58bdf}66.666%{color:var(--pink)}}
.marquee .marquee-track{display:flex;width:max-content;animation:marquee 26s linear infinite}
.marquee-track>span{flex:none;min-width:100vw}
@media(prefers-reduced-motion:reduce){.play-color,.marquee .marquee-track{animation:none}}
.button.dark:hover{background:var(--lime);color:var(--ink)}
.course-card.green{background:var(--lime)}
.course-card.cream{background:#d8d0ba}
.course-grid{grid-template-columns:repeat(2,1fr)}
.course-card p small{display:block;margin-top:14px;font-size:.76rem}
.heart-letter{position:relative;display:inline-block}
.heart-letter>span{position:absolute;left:.06em;top:-.38em;color:var(--lime);font-family:Arial,sans-serif;font-size:.2em;line-height:1;transform:rotate(-8deg)}
.gift-heart{position:relative;display:inline-block}
.gift-heart>span{position:absolute;right:-.11em;bottom:-.3em;color:var(--lime);font-family:Arial,sans-serif;font-size:.2em;line-height:1;transform:rotate(-7deg)}
.contact-main h2{color:var(--lime)}
.about-copy .about-intro{font-family:inherit;font-size:1.08rem!important;line-height:1.55;font-weight:700}

.kiln-firing{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;background:var(--pink)}
.kiln-heading h2{font-size:clamp(4rem,7vw,8rem)}
.kiln-heading>p:not(.eyebrow){max-width:530px;margin:35px 0}
.kiln-prices{border-top:1px solid var(--ink)}
.kiln-prices article{display:grid;grid-template-columns:42px 1fr auto;gap:20px;align-items:start;padding:28px 0;border-bottom:1px solid var(--ink)}
.kiln-prices article>span{padding-top:7px;font-size:.7rem}
.kiln-prices h3{margin:0;font-size:clamp(1.45rem,2.4vw,2.5rem);line-height:1.05;letter-spacing:-.04em}
.kiln-prices article p{margin:8px 0 0}
.kiln-prices article strong{font-size:1.5rem;white-space:nowrap}
.kiln-note{margin-top:35px;padding:25px;background:var(--lime);border:1px solid var(--ink)}
.kiln-note b{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.kiln-note p{margin:10px 0 0;font-size:.78rem}
@media(max-width:1050px){.kiln-firing{grid-template-columns:1fr}}
@media(max-width:700px){.kiln-prices article{grid-template-columns:28px 1fr}.kiln-prices article strong{grid-column:2}.kiln-heading .button{width:100%}}
