@font-face{font-family:Nunito;src:url('assets/nunito-800.woff') format('woff');font-style:normal;font-weight:800 900;font-display:swap}@font-face{font-family:'Nunito Sans';src:url('assets/nunito-sans-400.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
:root{--cream:#fff8ee;--plum:#48164f;--coral:#f45b58;--lavender:#b58bd0;--yellow:#ffc52a;--teal:#08a6ac;--deep-teal:#08636a;--soft-lavender:#eddbf0;--body:'Nunito Sans',sans-serif;--heading:Nunito,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--plum);background:var(--cream);font-family:var(--body);font-size:18px;line-height:1.45}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3,.button,nav,.card-link{font-family:var(--heading);font-weight:800}h1{font-size:clamp(42px,4.9vw,74px);line-height:1.04;letter-spacing:-2.5px}h2{font-size:clamp(34px,3.3vw,49px);letter-spacing:-1.3px;line-height:1.15}h3{font-size:25px;line-height:1.15;letter-spacing:-.6px}a:focus-visible,button:focus-visible{outline:3px solid var(--deep-teal);outline-offset:6px}.wrap{max-width:1320px;width:calc(100% - 96px);margin-inline:auto}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;left:20px;top:-80px;padding:12px 20px;background:var(--plum);color:white;z-index:100}.skip:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;height:137px;position:relative;z-index:5}.brand{display:block;width:115px}.brand img{width:115px;height:121px;object-fit:contain}.site-header nav{display:flex;gap:52px;font-size:19px}.site-header nav a{position:relative;padding-block:14px}.site-header nav a:after{content:'';position:absolute;bottom:6px;height:4px;left:0;width:0;border-radius:5px;background:var(--yellow);transition:width .25s}.site-header nav a:hover:after,.site-header nav a.active:after{width:100%}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;padding-bottom:25px}.hero-inner{position:relative;min-height:655px}.hero-copy{position:relative;z-index:3;width:62%;padding-top:37px}.hero-copy h1 .coral{color:#d63e40;position:relative;display:inline-block}.hero-copy p{font-size:25px;line-height:1.25;margin:21px 0 26px 34px;max-width:550px}.hero-actions{display:flex;gap:16px;margin-left:26px;align-items:center;flex-wrap:wrap}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:18px;line-height:1.2;min-height:49px;border:2px solid transparent;border-radius:40px;padding:10px 22px;white-space:nowrap;transition:transform .22s,box-shadow .22s}.button:hover{transform:translateY(-3px);box-shadow:0 5px 0 rgba(72,22,79,.1)}.button svg{width:24px;height:24px}.primary{background:var(--coral);color:var(--plum)}.outline{border-color:#07858b;color:var(--deep-teal);background:var(--cream)}.plum-outline{border-color:var(--plum);color:var(--plum);background:transparent}.hero-art{position:absolute;right:-42px;top:10px;width:44%;height:500px;z-index:2}.hero-photo{height:100%;width:100%;border-radius:42% 15% 44% 37% / 27% 20% 43% 50%;overflow:hidden;border-left:15px solid var(--lavender);border-bottom:15px solid var(--lavender);background:var(--lavender)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 68%}.art-caption{position:absolute;bottom:35px;right:45px;font-size:13px;letter-spacing:.2px;color:var(--plum);background:var(--cream);padding:7px 14px;border-radius:30px}.hero-dots{position:absolute;left:-30px;top:160px;width:62px;height:200px;z-index:3}.hero-dots i{display:block;width:10px;height:10px;position:absolute;background:var(--yellow);border-radius:50%;animation:dot-in .7s both;animation-delay:calc(var(--i)*65ms)}@keyframes dot-in{from{opacity:0;transform:scale(.2) translateY(15px)}to{opacity:1;transform:none}}.collage{position:absolute;left:-60px;right:18%;bottom:0;height:292px;display:flex;align-items:flex-end;z-index:1;pointer-events:none}.collage>div{position:relative;overflow:hidden;background:var(--lavender)}.collage img{width:100%;height:100%;object-fit:cover}.collage-tote{width:43%;height:285px;border-radius:0 70% 6% 0 / 0 30% 10% 0;transform:rotate(-5deg);z-index:2}.collage-tote img{object-position:center}.collage-pot{width:40%;height:255px;margin-left:-40px;border-radius:48% 50% 5% 5% / 20% 30% 5% 5%;z-index:3}.collage-pot img{object-position:center}.collage-tools{width:26%;height:235px;margin-left:-45px;border-radius:45% 65% 5% 5%;transform:rotate(6deg)}.hero-wave{position:absolute;left:0;bottom:-1px;width:100%;height:135px;z-index:4;stroke:none}.wave-yellow{transform-origin:center;animation:wave-breathe 9s ease-in-out infinite alternate}@keyframes wave-breathe{to{transform:translateX(-12px) translateY(7px)}}.decor-arc{width:110px;height:170px;border:9px dotted var(--teal);border-radius:50%;position:absolute;pointer-events:none}.hero-arc{left:-50px;top:220px;transform:rotate(-25deg)}.rays{position:absolute;right:-12px;top:-27px;width:11px;height:28px;border-radius:10px;background:var(--yellow);transform:rotate(-13deg)}.rays:before,.rays:after{content:'';position:absolute;background:var(--yellow);border-radius:10px;width:9px;height:24px;left:24px;top:13px;transform:rotate(43deg)}.rays:after{left:33px;top:38px;transform:rotate(80deg);height:20px}.section-heading{text-align:center;margin-bottom:31px}.section-heading p{font-size:20px;margin-top:10px}.sun-heading{position:relative;display:inline-block}.sun-heading:before,.sun-heading:after{content:'';position:absolute;top:17px;width:21px;height:8px;background:var(--yellow);border-radius:9px;box-shadow:0 -14px 0 -1px var(--yellow),0 14px 0 -1px var(--yellow)}.sun-heading:before{left:-35px;transform:rotate(24deg)}.sun-heading:after{right:-35px;transform:rotate(-24deg)}.workshops{position:relative;z-index:4;padding-top:1px}.workshop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.workshop-card{border-radius:25px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;position:relative;isolation:isolate}.workshop-card:hover{transform:translateY(-7px);box-shadow:0 12px 25px #48164f12}.card-image{height:230px;background:#eadbcb}.card-image img{width:100%;height:100%;object-fit:cover}.coral-card{--card:var(--coral)}.lavender-card{--card:var(--lavender)}.yellow-card{--card:var(--yellow)}.teal-card{--card:var(--teal)}.card-copy{position:relative;background:var(--card);padding:13px 24px 19px;flex:1;min-height:166px}.card-copy:before{content:'';position:absolute;left:0;top:-27px;width:100%;height:30px;background:var(--card);clip-path:path('M0 20 Q70 -5 145 14 T340 10 V35 H0Z')}.card-copy h3{position:relative;font-size:25px}.card-copy p{font-size:17px;line-height:1.25;margin-top:7px;max-width:210px}.card-link{display:flex;gap:5px;align-items:center;font-size:13px;margin-top:15px;opacity:.85}.card-link svg{width:17px;height:17px}.card-dots{position:absolute;right:13px;bottom:17px;color:var(--cream);font-size:26px;letter-spacing:3px;transform:rotate(-50deg)}.private-banner{margin:27px 0 33px;background:var(--soft-lavender);border-radius:80px;padding:25px 34px;display:flex;align-items:center;gap:24px}.calendar-decor{position:relative;width:72px;flex-shrink:0}.calendar-decor>svg{width:65px;height:65px;stroke-width:3;transform:rotate(-8deg)}.calendar-decor .rays{transform:scale(.65) rotate(-85deg);left:-15px;top:-9px}.private-copy{flex:1}.private-copy h3{font-size:29px}.private-copy p{font-size:17px;margin-top:5px}.private-banner>a{border-left-width:2px}.art-section{position:relative;padding-top:0;overflow:hidden}.art-section .section-heading{margin-bottom:24px}.art-arc-left{left:-70px;top:-18px}.art-arc-right{right:-50px;top:45px;border-color:var(--coral);transform:rotate(-20deg)}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-item{display:block;position:relative;border:0;background:var(--plum);border-radius:23px;overflow:hidden;padding:0;aspect-ratio:1.18}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:filter .3s}.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:30px 16px 12px;background:linear-gradient(transparent,#22072be8);color:white;display:flex;align-items:center;justify-content:space-between;font-size:14px;opacity:0;transition:opacity .25s}.gallery-item:hover span,.gallery-item:focus-visible span{opacity:1}.gallery-item:hover img{filter:brightness(.9)}.about{display:flex;align-items:center;gap:22px;padding-block:30px 42px}.about h2{font-size:22px;letter-spacing:-.4px}.about p{font-size:15px;max-width:680px;margin-top:5px}.about-dot{width:22px;height:22px;background:var(--yellow);border-radius:50%;flex-shrink:0;box-shadow:-7px 7px 0 var(--coral)}.text-link{display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap;font-size:15px;font-weight:700;border-bottom:2px solid var(--yellow);padding-bottom:4px}footer{background:var(--coral);position:relative;padding-top:38px;margin-top:20px}.footer-wave{position:absolute;left:0;top:-65px;height:75px;width:100%;stroke:none}.footer-inner{display:flex;gap:25px;align-items:center;padding-block:10px 20px}.footer-brand{width:115px;flex-shrink:0;border-radius:18px;background:var(--cream);padding:8px 20px}.footer-brand img{width:100%;height:98px;object-fit:contain}.footer-copy{padding-left:23px;border-left:1px solid #48164f70;flex:1}.footer-copy h2{font-size:27px;letter-spacing:-.6px}.footer-copy p{font-size:16px;margin-top:8px}.footer-inner>.button{font-size:15px;padding:8px 15px;min-height:44px}.footer-social{padding-left:25px;border-left:1px solid #48164f70;font-size:15px;font-weight:700;display:grid;gap:9px}.footer-social a,.footer-social>span{display:flex;gap:10px;align-items:center}.footer-social .phone{padding-left:34px;font-size:13px}.footer-bottom{border-top:1px solid #48164f25;display:flex;justify-content:space-between;padding-block:12px;font-size:12px}dialog{border:0;border-radius:25px;max-width:900px;width:calc(100% - 32px);max-height:90dvh;padding:16px;background:var(--cream);color:var(--plum);box-shadow:0 20px 120px #0006}dialog::backdrop{background:#200e30df;backdrop-filter:blur(5px)}.lightbox-top{display:flex;justify-content:space-between;align-items:center;padding:0 8px 8px;font-size:14px}.lightbox-close,.lightbox-prev,.lightbox-next{background:var(--cream);border:1px solid #48164f30;border-radius:50%;width:44px;height:44px;font-size:25px;display:grid;place-items:center;flex-shrink:0}.lightbox-stage{display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:200px}.lightbox-stage img{object-fit:contain;max-height:65dvh;width:calc(100% - 110px);image-rendering:auto}.lightbox-stage img.switching{animation:picture-in .3s}@keyframes picture-in{from{opacity:.4}to{opacity:1}}#lightbox-caption{text-align:center;padding:15px 10px 5px;font-size:16px}.burst-dot{position:fixed;left:0;top:0;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:1000}.in-view{animation:card-in .65s both;animation-delay:var(--delay,0ms)}@keyframes card-in{from{opacity:.45;translate:0 18px}to{opacity:1;translate:0 0}}
@media(min-width:1600px){.hero-inner{min-height:690px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:35px}.hero-inner{min-height:600px}.hero-copy{width:65%;padding-top:25px}h1{font-size:clamp(42px,5.4vw,64px)}.hero-copy p{font-size:22px;margin-left:20px}.hero-actions{margin-left:12px;gap:9px}.hero-actions .button{font-size:15px;padding:9px 15px;min-height:45px}.hero-art{width:44%;height:450px;right:-20px}.collage{height:250px;bottom:0}.collage-tote{height:240px}.collage-pot{height:220px}.collage-tools{height:205px}.card-image{height:200px}.card-copy{padding:10px 17px 18px}.card-copy h3{font-size:22px}.card-copy p{font-size:15px}.private-banner{padding:21px 28px;gap:17px}.private-copy h3{font-size:25px}.private-copy p{font-size:15px}.private-banner .button{font-size:16px}.footer-inner{gap:17px;flex-wrap:wrap}.footer-brand{width:95px}.footer-copy{padding-left:17px}.footer-copy h2{font-size:25px}.footer-social{padding-left:17px}.footer-inner>.button{order:4;margin-left:112px;margin-top:-6px}.about{gap:17px}.text-link{font-size:13px}}
@media(max-width:850px){.site-header{height:116px}.brand,.brand img{width:94px;height:100px}.site-header nav{gap:25px;font-size:17px}.hero-inner{min-height:585px}.hero-copy{width:65%}h1{font-size:45px;letter-spacing:-1.5px}.hero-copy p{font-size:19px;margin-left:0}.hero-actions{margin-left:0;max-width:275px;gap:9px}.hero-art{height:380px;top:40px}.art-caption{display:none}.collage{right:12%;height:225px}.collage-tote{height:215px}.collage-pot{height:198px}.collage-tools{height:180px}.hero-wave{height:95px}.section-heading p{font-size:18px}.workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.card-image{height:240px}.card-copy{min-height:145px;padding:13px 23px 17px}.card-copy h3{font-size:25px}.card-copy p{font-size:17px;max-width:none}.private-banner{border-radius:35px;flex-wrap:wrap;padding:24px}.private-copy{flex-basis:70%}.private-banner .button{margin-left:89px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.about{flex-wrap:wrap}.about>div{flex:1}.text-link{margin-left:39px}.footer-inner>.button{order:initial;margin:0}.footer-copy{flex-basis:65%}.footer-social{margin-left:auto}.footer-wave{height:60px;top:-50px}}
@media(max-width:600px){body{font-size:16px}.wrap{width:calc(100% - 36px)}.site-header{height:110px}.brand,.brand img{height:98px;width:91px}.menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;border:1.5px solid #48164f45;padding:9px 13px;border-radius:30px;min-height:44px;font-size:15px}.menu-lines{height:12px;width:18px;border-block:2px solid var(--plum);position:relative}.menu-lines:after{content:'';position:absolute;left:0;right:0;top:4px;height:2px;background:var(--plum)}.site-header nav{position:absolute;left:0;right:0;top:104px;flex-direction:column;gap:0;display:none;background:var(--cream);border:1px solid #48164f20;border-radius:20px;padding:12px 20px;box-shadow:0 15px 30px #48164f15}.site-header nav.open{display:flex}.site-header nav a{padding:12px}.site-header nav a:after{left:12px;max-width:75px}.hero-inner{min-height:870px}.hero-copy{width:100%;padding-top:16px}h1{font-size:clamp(32px,8.5vw,49px);line-height:1.08;letter-spacing:-1.2px}.hero-copy h1 .rays{transform:rotate(-13deg) scale(.6);top:-25px;right:0}.hero-copy p{font-size:19px;line-height:1.35;margin:17px 0 20px;max-width:335px}.desktop-br{display:none}.hero-actions{max-width:none;gap:10px}.hero-actions .button{font-size:14px;padding:10px 14px;min-height:45px}.hero-actions .button svg{width:20px;height:20px}.hero-art{top:295px;right:-5px;width:88%;height:340px}.hero-photo{border-left-width:10px;border-bottom-width:10px;border-radius:40% 19% 45% 34% / 25% 15% 45% 48%}.hero-dots{left:-24px;top:95px;transform:scale(.7);transform-origin:left top}.collage{bottom:20px;left:-30px;right:-15px;height:240px}.collage-tote{width:43%;height:210px;border-radius:0 50% 0 0}.collage-pot{width:43%;height:175px;margin-left:-10px}.collage-tools{width:31%;height:150px;margin-left:-15px}.hero-wave{height:78px}.hero-arc{width:80px;height:120px;left:-53px;top:215px;border-width:7px}.hero{padding-bottom:8px}.section-heading{margin-bottom:24px}.section-heading h2{font-size:35px}.section-heading p{font-size:16px;line-height:1.4;max-width:340px;margin:10px auto 0}.sun-heading:before,.sun-heading:after{width:15px;height:6px;box-shadow:0 -11px 0 -1px var(--yellow),0 11px 0 -1px var(--yellow)}.sun-heading:before{left:-25px}.sun-heading:after{right:-25px}.workshop-grid{grid-template-columns:1fr;gap:22px}.workshop-card{border-radius:25px}.card-image{height:265px}.card-copy{padding:13px 23px 20px;min-height:152px}.card-copy h3{font-size:27px}.card-copy p{font-size:17px;max-width:270px}.card-copy:before{clip-path:none;border-radius:50% 60% 0 0 / 95% 80% 0 0}.private-banner{margin-top:25px;margin-bottom:35px;gap:14px;padding:24px 22px;border-radius:30px}.calendar-decor{width:49px}.calendar-decor>svg{width:49px;height:49px}.calendar-decor .rays{transform:scale(.4) rotate(-85deg);left:-14px;top:-12px}.private-copy h3{font-size:23px;line-height:1.15}.private-copy p{font-size:15px;line-height:1.4}.private-banner .button{margin-left:63px;font-size:16px;min-height:43px;padding:8px 19px}.gallery{gap:12px}.gallery-item{border-radius:18px;aspect-ratio:.95}.gallery-item span{opacity:1;font-size:11px;padding:23px 9px 8px}.gallery-item span svg{width:15px;height:15px}.art-arc-left{top:5px;left:-83px;border-width:7px}.art-arc-right{right:-80px;top:55px;border-width:7px}.about{padding:30px 0 50px;gap:14px;align-items:flex-start}.about h2{font-size:22px;line-height:1.2}.about p{font-size:15px;line-height:1.5}.about-dot{margin-top:6px;width:16px;height:16px}.text-link{margin-left:30px;font-size:14px}footer{margin-top:15px;padding-top:20px}.footer-inner{gap:20px;align-items:center}.footer-brand{width:88px;padding:9px 13px;border-radius:14px}.footer-brand img{height:88px}.footer-copy{flex:1;padding-left:16px}.footer-copy h2{font-size:24px;line-height:1.1}.footer-copy p{font-size:14px}.footer-copy br{display:none}.footer-inner>.button{margin:0;width:100%;min-height:47px;font-size:16px}.footer-social{margin:0;padding:0;border:0;grid-template-columns:1fr auto;width:100%;font-size:14px;gap:13px}.footer-social .phone{padding:0;font-size:14px;grid-column:1/-1}.footer-bottom{font-size:10px;gap:10px;padding-block:14px}.lightbox-stage{gap:6px}.lightbox-prev,.lightbox-next{width:36px;height:36px;font-size:21px}.lightbox-stage img{width:calc(100% - 84px)}dialog{padding:12px;border-radius:18px}#lightbox-caption{font-size:14px}.lightbox-top{font-size:13px}}
@media(max-width:370px){.hero-actions .button{font-size:13px;padding:9px 10px}.hero-inner{min-height:850px}.hero-art{top:310px;height:310px}.private-copy h3{font-size:21px}.footer-copy h2{font-size:22px}}
.primary,.coral-card,footer{color:#35103b}.card-link{opacity:1}.private-banner>.button:before{content:'';position:absolute;left:-29px;top:-4px;bottom:-4px;border-left:1px solid var(--plum)}
footer .plum-outline{color:#35103b;border-color:#35103b}
.card-copy{display:flex;flex-direction:column}.card-link{margin-top:auto;padding-top:15px}
@media(max-width:850px){.private-banner>.button:before{display:none}}
@media(max-width:600px){.about>div{flex:1 1 calc(100% - 30px)}.about .text-link{flex-basis:100%;width:max-content;max-width:max-content}.hero-inner{min-height:760px}.hero-art{top:280px;height:310px}.collage{bottom:10px;height:190px}.collage-tote{height:170px}.collage-pot{height:145px}.collage-tools{height:135px}}
@media(max-width:370px){.hero-inner{min-height:770px}.hero-art{top:305px;height:285px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.workshop-card:hover,.button:hover{transform:none}.burst-dot{display:none}}

/* Asset refresh: compact layouts, full artwork and practical workshop information. */
.hero-photo img{object-position:center}.hero-inner{min-height:605px}.hero-art{height:430px;top:15px}.hero-copy{width:62%}.collage{height:250px}.collage-tote{height:240px}.collage-pot{height:215px}.collage-tools{height:195px}
.workshop-help{display:flex;gap:28px;align-items:center;margin:22px 0 0;padding:18px 24px;border:1px solid #48164f25;border-radius:20px;font-size:15px}.workshop-help span{font-family:var(--heading);font-size:18px;flex:0 0 28%}.workshop-help p{max-width:780px}.card-link{font-size:12px}.gallery-item img{object-fit:contain;background:#241d24}.gallery-item{aspect-ratio:1}.kit-section{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);align-items:center;gap:65px;padding-block:45px 35px;max-width:1120px}.kit-image{max-width:320px;justify-self:center}.kit-image img{border-radius:24px;width:100%;height:auto}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:12px;font-weight:800;color:var(--deep-teal)}.kit-copy h2{font-size:38px;margin:10px 0 20px}.kit-copy p{font-size:18px;max-width:560px}.kit-copy .kit-detail{font-size:14px;margin:15px 0 22px}.about{padding-block:32px 60px}.about h2{font-size:28px}.about p{font-size:16px}.card-image img{object-position:center}.teal-card .card-image img{object-position:center 56%}
@media(max-width:1150px){.hero-inner{min-height:570px}.hero-art{height:395px}.kit-section{gap:35px}.kit-copy h2{font-size:32px}}
@media(max-width:850px){.hero-inner{min-height:535px}.hero-art{height:350px;top:40px}.kit-section{gap:28px}.kit-copy h2{font-size:28px}.kit-copy p{font-size:16px}.card-link{font-size:13px}}
@media(max-width:600px){.hero-inner{min-height:605px}.hero-copy{width:100%;padding-top:10px}.hero-art{top:270px;right:0;width:74%;height:250px}.collage{bottom:0;left:-20px;right:28%;height:150px}.collage-tote{height:140px;width:58%}.collage-pot{height:125px;width:56%}.collage-tools{display:none}.hero-wave{height:56px}.hero{padding-bottom:4px}.card-image{height:200px}.card-copy{min-height:140px;padding-bottom:17px}.workshop-grid{gap:17px}.card-copy h3{font-size:25px}.workshop-help{display:block;margin-top:20px;padding:18px}.workshop-help span{display:block;font-size:18px;margin-bottom:8px}.workshop-help p{font-size:14px}.private-banner{margin-bottom:28px}.kit-section{grid-template-columns:1fr;gap:24px;padding-block:30px}.kit-image{max-width:230px;order:2}.kit-copy h2{font-size:30px}.kit-copy .kit-detail{font-size:14px}.about{padding-block:20px 55px}.about h2{font-size:25px}.about p{font-size:15px}.gallery-item span{font-size:10px}.hero-photo img{object-position:center}}
@media(max-width:370px){.hero-inner{min-height:630px}.hero-art{top:310px;height:230px}}

.card-dots{bottom:51px;opacity:.55;pointer-events:none}

/* Retained motion on the restored colourful design. */
body{overflow-x:clip}.button,.workshop-card,.gallery-item{touch-action:manipulation}.button svg,.button span{pointer-events:none}.hero-wave,.footer-wave,.decor-arc,.hero-dots,.card-dots,.rays{pointer-events:none}.svg-defs{pointer-events:none}.hero-copy{min-width:0}.wa-icon{fill:currentColor;stroke:none!important;width:23px;height:23px;overflow:visible}.wa-icon path{fill:currentColor;stroke:none}.button:active{transform:translateY(0) scale(.98)}
.hero-copy .coral{animation:colour-title .8s cubic-bezier(.2,.75,.25,1) both}.hero-second{display:inline-block;animation:colour-title .8s .13s cubic-bezier(.2,.75,.25,1) both}@keyframes colour-title{from{opacity:.4;translate:0 20px}to{opacity:1;translate:0 0}}
.magnetic{--mx:0px;--my:0px;translate:var(--mx) var(--my)}.reveal-left{animation:arrive-left .7s cubic-bezier(.2,.75,.25,1) both}.reveal-right{animation:arrive-right .7s cubic-bezier(.2,.75,.25,1) both}@keyframes arrive-left{from{opacity:.4;translate:-20px 14px}to{opacity:1;translate:0 0}}@keyframes arrive-right{from{opacity:.4;translate:20px 14px}to{opacity:1;translate:0 0}}
.mandala-play{position:absolute;right:12px;top:-6px;width:106px;z-index:4}.palette-play{--dot0:#f45b58;--dot1:#08a6ac;--dot2:#ffc52a;--dot3:#48164f;border:0;border-radius:50%;background:var(--cream);padding:5px;display:block;width:100%;box-shadow:0 3px 12px #48164f12}.play-mandala{display:block;width:100%;height:auto;stroke:none}.dot{transition:fill .4s}.dot-0{fill:var(--dot0,#f45b58)}.dot-1{fill:var(--dot1,#08a6ac)}.dot-2{fill:var(--dot2,#ffc52a)}.dot-3{fill:var(--dot3,#48164f)}.play-label{display:flex;align-items:center;justify-content:center;gap:3px;font:800 8px/1.3 var(--heading);padding:3px 0 5px}.play-label svg{width:10px;height:10px}.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}.kit-image{padding:16px;background:#eddbf0;border-radius:28px}.kit-image img{border-radius:18px;aspect-ratio:500/570;object-fit:contain}.gallery-item img{background:#f3e8ed}.gallery-item{background:#f3e8ed}
@media(max-width:850px){.mandala-play{width:83px;right:3px;top:5px}}
@media(max-width:600px){.mandala-play{width:77px;right:3px;top:-4px}.play-label{font-size:6px}.kit-image{max-width:220px}.gallery-item span{font-size:11px}.hero-actions .button{min-height:48px}.hero-actions{position:relative;z-index:5}}
@media(prefers-reduced-motion:reduce){.hero-copy .coral,.hero-second,.reveal-left,.reveal-right{animation:none!important;translate:none!important}.magnetic{translate:none!important}.dot{transition:none!important}}


/* Mobile layout: place copy, artwork and collage in a clear vertical flow. */
@media (max-width: 600px) {
  .hero-inner { display: flex; flex-direction: column; min-height: 0; }
  .hero-copy { width: 100%; padding-top: 10px; }
  .hero-copy p { margin: 18px 0 22px; max-width: 32rem; }
  .hero-actions { margin: 0; gap: 10px; }
  .hero-actions .button { white-space: normal; }
  .hero-art { position: relative; inset: auto; width: min(88%, 390px); height: clamp(250px, 72vw, 345px); margin: 28px 0 18px auto; }
  .hero-photo { height: 100%; }
  .art-caption { right: 12px; bottom: 15px; font-size: 11px; }
  .collage { position: relative; inset: auto; width: calc(100% + 36px); height: 148px; margin: 0 -18px; }
  .collage-tote { width: 49%; height: 142px; }
  .collage-pot { width: 47%; height: 132px; margin-left: -12px; }
  .collage-tools { display: none; }
  .hero { padding-bottom: 30px; }
  .hero-wave { height: 46px; }
  .workshops { padding-top: 0; }
  .section-heading { margin-bottom: 24px; }
  .card-image { height: clamp(190px, 58vw, 250px); }
  .card-copy { min-height: 142px; }
  .gallery-item { aspect-ratio: 1; }
}

/* Final responsive system: one hero source of truth, predictable lower artwork layout. */
.hero-seo-line { display:block; font-size:.42em; line-height:1.15; letter-spacing:-.01em; color:var(--deep-teal); margin-top:12px; }
.hero-copy h1 { max-width: 760px; }
.hero-copy p { max-width: 580px; line-height:1.45; }
.hero-art-grid { width:100%; }
.hero-art-tile { transform:none !important; }
.hero-art-tile:nth-child(1) { border-radius:34px 62px 44px 58px / 46px 38px 58px 54px; }
.hero-art-tile:nth-child(2) { border-radius:58px 38px 56px 42px / 40px 58px 42px 60px; }
.hero-art-tile:nth-child(3) { border-radius:44px 56px 38px 62px / 56px 42px 58px 44px; }
.hero-art-tile img { object-fit:cover; }
.tile-mandala img { object-position:52% 50%; }
.tile-pottery img { object-position:50% 38%; }
.tile-totes img { object-position:50% 52%; }
.hero-photo img { object-fit:cover; object-position:52% center; }
.hero-art { max-width:560px; justify-self:end; }
.hero-art-grid { margin-left:auto; margin-right:auto; }
.hero-actions .button { min-height:50px; }
.hero-actions .button:focus-visible,
.workshop-card:focus-visible,
.gallery-item:focus-visible,
.menu-toggle:focus-visible,
.text-link:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
.card-image { overflow:hidden; }
.card-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.coral-card .card-image img { object-position:52% center; }
.lavender-card .card-image img { object-position:50% 38%; }
.yellow-card .card-image img { object-position:50% 52%; }
.teal-card .card-image img { object-position:50% 56%; }
.workshop-card .card-link { display:inline-flex; align-items:center; gap:7px; min-height:36px; font-size:14px; }
.workshop-card .card-link svg { width:18px; height:18px; }
.hero-dots { transform:scale(.82); }
.decor-arc.art-arc-right { opacity:.45; }

@media (min-width:1100px) {
  .hero-inner { grid-template-columns:minmax(0, .96fr) minmax(430px, .84fr); column-gap:54px; }
  .hero-art { width:92%; }
  .hero-art-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:34px; }
}
@media (min-width:601px) and (max-width:1099px) {
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(350px,.85fr); column-gap:28px; min-height:590px; }
  .hero-copy { padding-top:20px; }
  .hero-art { height:410px; width:100%; }
  .hero-art-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:26px; }
  .hero-art-tile { border-width:5px; }
}
@media (max-width:600px) {
  .hero-inner { display:flex; flex-direction:column; padding-bottom:56px; }
  .hero-copy { padding-top:8px; }
  .hero-seo-line { font-size:.44em; margin-top:9px; }
  .hero-copy p { max-width:340px; font-size:18px; }
  .hero-actions { display:grid; grid-template-columns:1fr; width:100%; max-width:350px; gap:10px; }
  .hero-actions .button { width:100%; min-height:50px; }
  .hero-art { width:min(92%,410px); height:clamp(270px,78vw,360px); margin:30px 0 0 auto; }
  .hero-art-grid { grid-template-columns:1fr; gap:14px; margin-top:24px; }
  .hero-art-tile { aspect-ratio:1.45; border-width:5px; }
  .hero-art-tile figcaption { font-size:13px; padding:8px 12px; }
  .hero-art-tile:nth-child(1), .hero-art-tile:nth-child(2), .hero-art-tile:nth-child(3) { border-radius:28px 48px 34px 44px / 34px 28px 44px 38px; }
  .workshop-card .card-link { font-size:15px; }
}
@media (max-width:370px) {
  .hero-copy h1 { font-size:34px; }
  .hero-art { width:100%; height:250px; }
  .hero-art-tile { aspect-ratio:1.25; }
}

/* Final reference composition: copy left, authentic layered artwork right. */
.hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(430px,.9fr); align-items:start; column-gap:54px; min-height:620px; padding-top:34px; padding-bottom:92px; }
.hero-copy { width:100%; padding-top:42px; }
.hero-art { display:block !important; grid-column:2; grid-row:1; position:relative; width:100%; max-width:610px; height:475px; margin:0; justify-self:end; }
.hero-art-grid { display:none !important; }
@media (min-width:601px) and (max-width:1099px) {
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(340px,.86fr); column-gap:28px; min-height:555px; }
  .hero-copy { padding-top:22px; }
  .hero-art { height:390px; }
}
@media (max-width:600px) {
  .hero-inner { display:flex; flex-direction:column; min-height:0; padding-top:18px; padding-bottom:56px; }
  .hero-copy { padding-top:10px; }
  .hero-art { width:100%; height:320px; margin:30px 0 0; }
  .hero-art-grid { display:none !important; }
}

/* Final reference polish: consistent cards, spacing, and responsive gallery. */
.hero-copy h1 .coral { color:var(--plum); }
.hero-second { position:relative; z-index:0; }
.hero-second::before { content:''; position:absolute; z-index:-1; left:-18px; right:-22px; top:42%; height:52%; background:var(--yellow); opacity:.82; border-radius:48% 42% 50% 38% / 52% 43% 55% 44%; transform:rotate(-2deg); }
.hero-copy p { font-size:20px; line-height:1.35; margin-left:0; max-width:560px; }
.hero-actions { margin-left:0; }
.hero-benefits { margin-left:0; }
.section-heading h2 { font-size:clamp(38px,3.7vw,52px); }
.section-heading p { font-size:17px; }
.card-copy h3 { display:flex; align-items:center; gap:10px; }
.card-copy h3::before { content:'✦'; display:inline-grid; place-items:center; width:28px; height:28px; border:2px solid currentColor; border-radius:50%; font-size:16px; line-height:1; flex:0 0 28px; }
.lavender-card h3::before { content:'♧'; }
.yellow-card h3::before { content:'▢'; }
.teal-card h3::before { content:'✿'; }
.workshop-grid { align-items:stretch; gap:20px; }
.workshop-card { min-height:365px; }
.card-image { height:205px; }
.card-copy { min-height:160px; padding:16px 22px 20px; }
.card-copy h3 { font-size:24px; }
.card-copy p { max-width:230px; }
.card-link { margin-top:auto; padding-top:12px; font-size:14px; }
.private-banner { margin:28px 0 42px; min-height:82px; padding:18px 28px; }
.private-banner .button { margin-left:auto; }
.gallery-shell .gallery { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.gallery-shell .gallery-item { min-width:0; aspect-ratio:1 / 1.08; }
.gallery-control { cursor:pointer; }
.kit-section { max-width:1180px; padding-block:54px 42px; }
.kit-copy h2 { line-height:1.05; }
.about { padding-block:34px 60px; }
footer { margin-top:22px; }
@media (max-width:850px) {
  .workshop-card { min-height:0; }
  .card-image { height:220px; }
  .card-copy { min-height:160px; }
  .private-banner { min-height:0; }
}
@media (max-width:600px) {
  .workshop-grid { gap:18px; }
  .workshop-card { min-height:0; }
  .card-image { height:220px; }
  .card-copy { min-height:155px; padding:16px 22px 20px; }
  .private-banner { padding:20px; }
  .private-banner .button { margin-left:63px; }
  .gallery-shell .gallery { display:flex; gap:12px; }
  .gallery-shell .gallery-item { flex:0 0 78%; aspect-ratio:1.05; }
  .kit-section { padding-block:34px 30px; }
  .about { padding-block:28px 54px; }
}

/* Final reference polish: consistent cards, spacing, and responsive gallery. */
.workshop-grid { align-items:stretch; gap:20px; }
.workshop-card { min-height:365px; }
.card-image { height:205px; }
.card-copy { min-height:160px; padding:16px 22px 20px; }
.card-copy h3 { font-size:24px; }
.card-copy p { max-width:230px; }
.card-link { margin-top:auto; padding-top:12px; font-size:14px; }
.private-banner { margin:28px 0 42px; min-height:82px; padding:18px 28px; }
.private-banner .button { margin-left:auto; }
.gallery-shell .gallery { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.gallery-shell .gallery-item { min-width:0; aspect-ratio:1 / 1.08; }
.gallery-control { cursor:pointer; }
.kit-section { max-width:1180px; padding-block:54px 42px; }
.kit-copy h2 { line-height:1.05; }
.about { padding-block:34px 60px; }
footer { margin-top:22px; }
@media (max-width:850px) {
  .workshop-card { min-height:0; }
  .card-image { height:220px; }
  .card-copy { min-height:160px; }
  .private-banner { min-height:0; }
}
@media (max-width:600px) {
  .workshop-grid { gap:18px; }
  .workshop-card { min-height:0; }
  .card-image { height:220px; }
  .card-copy { min-height:155px; padding:16px 22px 20px; }
  .private-banner { padding:20px; }
  .private-banner .button { margin-left:63px; }
  .gallery-shell .gallery { display:flex; gap:12px; }
  .gallery-shell .gallery-item { flex:0 0 78%; aspect-ratio:1.05; }
  .kit-section { padding-block:34px 30px; }
  .about { padding-block:28px 54px; }
}

/* Final reference composition: copy left, authentic layered artwork right. */
.hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(430px,.9fr); align-items:start; column-gap:54px; min-height:620px; padding-top:34px; padding-bottom:92px; }
.hero-copy { width:100%; padding-top:42px; }
.hero-art { display:block !important; grid-column:2; grid-row:1; position:relative; width:100%; max-width:610px; height:475px; margin:0; justify-self:end; }
.hero-art-grid { display:none !important; }
@media (min-width:601px) and (max-width:1099px) {
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(340px,.86fr); column-gap:28px; min-height:555px; }
  .hero-copy { padding-top:22px; }
  .hero-art { height:390px; }
}
@media (max-width:600px) {
  .hero-inner { display:flex; flex-direction:column; min-height:0; padding-top:18px; padding-bottom:56px; }
  .hero-copy { padding-top:10px; }
  .hero-art { width:100%; height:320px; margin:30px 0 0; }
  .hero-art-grid { display:none !important; }
}

/* Final art direction overrides: keep these after the legacy responsive rules. */
.brand { display:flex; align-items:center; gap:10px; width:auto; }
.brand img { width:78px; height:92px; }
.brand-subtitle { color:var(--deep-teal); font:800 20px/1.05 var(--heading); max-width:95px; }
.header-contact { min-height:42px !important; padding:8px 17px !important; font-size:14px !important; border-radius:999px; }
.hero-inner { min-height:620px; }
.hero-copy { padding-top:42px; }
.hero-copy h1 { font-size:clamp(48px,5.3vw,78px); }
.hero-copy p { margin-left:0; }
.hero-benefits { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.hero-benefits span { display:inline-flex; align-items:center; gap:7px; padding:9px 13px; border-radius:999px; background:#ffe8e2b8; color:var(--plum); font:800 13px/1 var(--heading); }
.hero-benefits span:nth-child(2) { background:#eddbf0b8; }
.hero-benefits span:nth-child(3) { background:#dff3eb; }
.hero-benefits svg { width:20px; height:20px; stroke-width:1.8; }
.hero-art { height:475px; max-width:610px; }
.hero-collage { position:relative; width:100%; height:100%; }
.hero-photo { border:0; background:var(--lavender); box-shadow:0 17px 34px #48164f1c; }
.hero-photo img { width:100%; height:100%; }
.hero-photo-main { position:absolute; inset:12% 5% 5% 0; width:78%; height:80%; border:10px solid var(--lavender); border-radius:48% 18% 38% 34% / 28% 22% 50% 44%; transform:rotate(-2deg); z-index:2; }
.hero-photo-pot { position:absolute; right:0; bottom:1%; width:39%; height:44%; border:7px solid var(--yellow); border-radius:42% 58% 24% 76% / 31% 31% 69% 69%; transform:rotate(4deg); z-index:3; }
.hero-photo-tote { position:absolute; right:5%; top:2%; width:42%; height:43%; border:7px solid var(--coral); border-radius:48% 52% 32% 68% / 29% 38% 62% 71%; transform:rotate(4deg); z-index:1; }
.hero-photo-pot img { object-position:50% 38%; }
.hero-photo-tote img { object-position:50% 52%; }
.hero-art .art-caption { z-index:5; right:14%; bottom:2%; font-size:12px; }
.hero-art .mandala-play { z-index:6; right:6%; top:0; width:92px; }
.hero-art-grid { display:none !important; }
.hero-wave { height:90px; }
.private-banner { background:linear-gradient(90deg,#eddbf0 0%,#ffe6e1 100%); }
.bunting { color:var(--coral); font-size:39px; letter-spacing:6px; transform:rotate(-8deg); }
.gallery-shell { position:relative; display:flex; align-items:center; gap:12px; }
.gallery-shell .gallery { flex:1; min-width:0; grid-template-columns:repeat(5,minmax(0,1fr)); }
.gallery-control { width:42px; height:42px; flex:0 0 42px; border:0; border-radius:50%; background:#fff; color:var(--plum); box-shadow:0 5px 16px #48164f22; font-size:35px; line-height:1; display:grid; place-items:center; z-index:2; }
.gallery-control:hover { background:var(--yellow); }
.about blockquote { margin:0 0 0 auto; max-width:330px; color:var(--plum); font:800 20px/1.25 var(--heading); border-left:2px solid var(--yellow); padding-left:20px; }
footer { background:var(--plum); color:var(--cream); }
footer .footer-copy, footer .footer-social { border-color:#fff4; }
footer .footer-brand { background:var(--cream); }
footer .footer-bottom { border-color:#fff3; }
footer .footer-wave path:first-child { fill:var(--coral); }
footer .footer-wave path:last-child { fill:var(--plum); }
footer .plum-outline { color:var(--cream); border-color:var(--cream); }
@media (min-width:1100px) {
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(470px,.93fr); column-gap:56px; min-height:620px; }
  .hero-art { width:100%; }
}
@media (min-width:601px) and (max-width:1099px) {
  .header-contact { display:none; }
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(340px,.86fr); min-height:555px; column-gap:28px; }
  .hero-copy { padding-top:22px; }
  .hero-copy h1 { font-size:clamp(43px,5.8vw,62px); }
  .hero-art { height:390px; }
  .hero-benefits span { font-size:11px; padding:8px 10px; }
  .gallery-shell .gallery { grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; }
}
@media (max-width:600px) {
  .site-header { height:96px; }
  .brand { gap:5px; }
  .brand img { width:68px; height:78px; }
  .brand-subtitle { font-size:15px; max-width:70px; }
  .header-contact { display:none; }
  .hero-inner { min-height:0; }
  .hero-copy { padding-top:10px; }
  .hero-copy h1 { font-size:clamp(38px,10.7vw,50px); }
  .hero-benefits { gap:7px; margin-top:16px; }
  .hero-benefits span { font-size:11px; padding:8px 9px; }
  .hero-benefits span:last-child { display:none; }
  .hero-art { width:100%; height:320px; margin:30px 0 0; }
  .hero-photo-main { inset:10% 7% 5% 0; width:78%; height:81%; border-width:7px; }
  .hero-photo-pot { width:40%; height:45%; border-width:5px; }
  .hero-photo-tote { width:43%; height:43%; border-width:5px; }
  .hero-art .art-caption { right:9%; bottom:1%; font-size:10px; padding:6px 9px; }
  .hero-art .mandala-play { right:3%; top:-2%; width:70px; }
  .hero-wave { height:52px; }
  .bunting { display:none; }
  .gallery-shell { gap:6px; }
  .gallery-shell .gallery { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; gap:12px; }
  .gallery-shell .gallery::-webkit-scrollbar { display:none; }
  .gallery-shell .gallery-item { flex:0 0 78%; scroll-snap-align:start; aspect-ratio:1.05; }
  .gallery-control { width:34px; height:34px; flex-basis:34px; font-size:27px; }
  .about { display:grid; grid-template-columns:auto 1fr; }
  .about blockquote { grid-column:1/-1; max-width:none; margin-top:12px; font-size:18px; }
  .about .text-link { grid-column:1/-1; margin-left:0; }
}

/* Reference-led art direction: layered hero collage, benefit chips, gallery controls and premium footer. */
.brand { display:flex; align-items:center; gap:10px; width:auto; }
.brand img { width:78px; height:92px; }
.brand-subtitle { color:var(--deep-teal); font:800 20px/1.05 var(--heading); max-width:95px; }
.header-contact { min-height:42px !important; padding:8px 17px !important; font-size:14px !important; border-radius:999px; }
.hero-inner { min-height:620px; }
.hero-copy { padding-top:42px; }
.hero-copy h1 { font-size:clamp(48px,5.3vw,78px); }
.hero-copy p { margin-left:0; }
.hero-benefits { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.hero-benefits span { display:inline-flex; align-items:center; gap:7px; padding:9px 13px; border-radius:999px; background:#ffe8e2b8; color:var(--plum); font:800 13px/1 var(--heading); }
.hero-benefits span:nth-child(2) { background:#eddbf0b8; }
.hero-benefits span:nth-child(3) { background:#dff3eb; }
.hero-benefits svg { width:20px; height:20px; stroke-width:1.8; }
.hero-art { height:475px; max-width:610px; }
.hero-collage { position:relative; width:100%; height:100%; }
.hero-photo { border:0; background:var(--lavender); box-shadow:0 17px 34px #48164f1c; }
.hero-photo img { width:100%; height:100%; }
.hero-photo-main { position:absolute; inset:12% 5% 5% 0; width:78%; height:80%; border:10px solid var(--lavender); border-radius:48% 18% 38% 34% / 28% 22% 50% 44%; transform:rotate(-2deg); z-index:2; }
.hero-photo-pot { position:absolute; right:0; bottom:1%; width:39%; height:44%; border:7px solid var(--yellow); border-radius:42% 58% 24% 76% / 31% 31% 69% 69%; transform:rotate(4deg); z-index:3; }
.hero-photo-tote { position:absolute; right:5%; top:2%; width:42%; height:43%; border:7px solid var(--coral); border-radius:48% 52% 32% 68% / 29% 38% 62% 71%; transform:rotate(4deg); z-index:1; }
.hero-photo-pot img { object-position:50% 38%; }
.hero-photo-tote img { object-position:50% 52%; }
.hero-art .art-caption { z-index:5; right:14%; bottom:2%; font-size:12px; }
.hero-art .mandala-play { z-index:6; right:6%; top:0; width:92px; }
.hero-art-grid { display:none !important; }
.hero-wave { height:90px; }
.private-banner { background:linear-gradient(90deg,#eddbf0 0%,#ffe6e1 100%); }
.bunting { color:var(--coral); font-size:39px; letter-spacing:6px; transform:rotate(-8deg); }
.gallery-shell { position:relative; display:flex; align-items:center; gap:12px; }
.gallery-shell .gallery { flex:1; min-width:0; grid-template-columns:repeat(5,minmax(0,1fr)); }
.gallery-control { width:42px; height:42px; flex:0 0 42px; border:0; border-radius:50%; background:#fff; color:var(--plum); box-shadow:0 5px 16px #48164f22; font-size:35px; line-height:1; display:grid; place-items:center; z-index:2; }
.gallery-control:hover { background:var(--yellow); }
.about blockquote { margin:0 0 0 auto; max-width:330px; color:var(--plum); font:800 20px/1.25 var(--heading); border-left:2px solid var(--yellow); padding-left:20px; }
footer { background:var(--plum); color:var(--cream); }
footer .footer-copy { border-color:#fff4; }
footer .footer-social { border-color:#fff4; }
footer .footer-brand { background:var(--cream); }
footer .footer-bottom { border-color:#fff3; }
footer .footer-wave path:first-child { fill:var(--coral); }
footer .footer-wave path:last-child { fill:var(--plum); }
footer .plum-outline { color:var(--cream); border-color:var(--cream); }

@media (min-width:1100px) {
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(470px,.93fr); column-gap:56px; min-height:620px; }
  .hero-art { width:100%; }
}
@media (min-width:601px) and (max-width:1099px) {
  .brand img { width:68px; height:82px; }
  .brand-subtitle { font-size:17px; }
  .header-contact { display:none; }
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(340px,.86fr); min-height:555px; column-gap:28px; }
  .hero-copy { padding-top:22px; }
  .hero-copy h1 { font-size:clamp(43px,5.8vw,62px); }
  .hero-art { height:390px; }
  .hero-photo-main { border-width:8px; }
  .hero-photo-pot,.hero-photo-tote { border-width:5px; }
  .hero-benefits span { font-size:11px; padding:8px 10px; }
  .gallery-shell .gallery { grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; }
}
@media (max-width:600px) {
  .site-header { height:96px; }
  .brand { gap:5px; }
  .brand img { width:68px; height:78px; }
  .brand-subtitle { font-size:15px; max-width:70px; }
  .header-contact { display:none; }
  .hero-inner { min-height:0; }
  .hero-copy { padding-top:10px; }
  .hero-copy h1 { font-size:clamp(38px,10.7vw,50px); }
  .hero-benefits { gap:7px; margin-top:16px; }
  .hero-benefits span { font-size:11px; padding:8px 9px; }
  .hero-benefits span:last-child { display:none; }
  .hero-art { width:100%; height:320px; margin:30px 0 0; }
  .hero-photo-main { inset:10% 7% 5% 0; width:78%; height:81%; border-width:7px; }
  .hero-photo-pot { width:40%; height:45%; border-width:5px; }
  .hero-photo-tote { width:43%; height:43%; border-width:5px; }
  .hero-art .art-caption { right:9%; bottom:1%; font-size:10px; padding:6px 9px; }
  .hero-art .mandala-play { right:3%; top:-2%; width:70px; }
  .hero-wave { height:52px; }
  .private-banner { align-items:flex-start; }
  .bunting { display:none; }
  .gallery-shell { gap:6px; }
  .gallery-shell .gallery { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; gap:12px; }
  .gallery-shell .gallery::-webkit-scrollbar { display:none; }
  .gallery-shell .gallery-item { flex:0 0 78%; scroll-snap-align:start; aspect-ratio:1.05; }
  .gallery-control { width:34px; height:34px; flex-basis:34px; font-size:27px; }
  .about { display:grid; grid-template-columns:auto 1fr; }
  .about blockquote { grid-column:1/-1; max-width:none; margin-top:12px; font-size:18px; }
  .about .text-link { grid-column:1/-1; margin-left:0; }
  footer .footer-copy { border-color:#fff4; }
}

/* Approved hero direction: full-width copy followed by three clear artwork panels. */
.hero-inner {
  display: block;
  min-height: 0;
  padding-top: 34px;
  padding-bottom: 92px;
}
.hero-copy {
  width: min(820px, 100%);
  padding-top: 0;
  position: relative;
  z-index: 4;
}
.hero-copy h1 { max-width: 820px; }
.hero-copy p { max-width: 650px; }
.hero-actions { margin-left: 0; }
.hero-art-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 54px;
  position: relative;
  z-index: 2;
}
.hero-art-tile {
  position: relative;
  min-width: 0;
  aspect-ratio: 1 / .92;
  margin: 0;
  overflow: hidden;
  background: var(--soft-lavender);
  border: 7px solid var(--soft-lavender);
  box-shadow: 0 12px 24px #48164f12;
}
.hero-art-tile:nth-child(1) { border-radius: 42% 58% 34% 66% / 37% 35% 65% 63%; transform: rotate(-1deg); }
.hero-art-tile:nth-child(2) { border-radius: 52% 48% 42% 58% / 30% 43% 57% 70%; transform: translateY(12px); border-color: #ffd257; }
.hero-art-tile:nth-child(3) { border-radius: 58% 42% 62% 38% / 42% 34% 66% 58%; transform: rotate(1deg); border-color: var(--coral); }
.hero-art-tile img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.hero-art-tile figcaption {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff8eedb;
  color: var(--plum);
  font: 800 12px/1.2 var(--heading);
  text-align: center;
  backdrop-filter: blur(6px);
}
.hero-art,.collage { display: none !important; }
.hero-wave { z-index: 1; }
@media (max-width: 850px) {
  .hero-inner { padding-top: 24px; padding-bottom: 72px; }
  .hero-art-grid { gap: 12px; margin-top: 42px; }
  .hero-art-tile { border-width: 5px; }
}
@media (max-width: 600px) {
  .hero-inner { padding-top: 12px; padding-bottom: 66px; }
  .hero-copy { width: 100%; }
  .hero-copy h1 { font-size: clamp(37px, 10.3vw, 50px); line-height: 1.06; }
  .hero-copy p { font-size: 18px; max-width: 350px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; max-width: 350px; }
  .hero-actions .button { width: 100%; justify-content: center; }
  .hero-art-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 36px; }
  .hero-art-tile { aspect-ratio: .78; border-width: 4px; }
  .hero-art-tile:nth-child(2) { transform: translateY(8px); }
  .hero-art-tile figcaption { left: 5px; right: 5px; bottom: 5px; padding: 5px 4px; font-size: 9px; }
}
@media (max-width: 370px) {
  .hero-art { width: 91%; height: 238px; margin-top: 23px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .collage { height: 128px; }
  .collage-tote { height: 125px; }
  .collage-pot { height: 116px; }
}

/* Keep the original side-by-side hero artwork; only the lower artwork strip changes. */
@media (min-width: 601px) {
  .hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
    align-items: start;
    column-gap: 38px;
    min-height: 650px;
    padding-top: 30px;
    padding-bottom: 110px;
  }
  .hero-copy { grid-column: 1; grid-row: 1; width: 100%; padding-top: 38px; }
  .hero-art {
    display: block !important;
    grid-column: 2;
    grid-row: 1;
    position: relative;
    inset: auto;
    width: 100%;
    height: 490px;
    margin: 0;
  }
  .hero-art-grid {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin-top: 26px;
  }
}
@media (max-width: 600px) {
  .hero-inner { display: flex; flex-direction: column; min-height: 0; }
  .hero-art {
    display: block !important;
    position: relative;
    inset: auto;
    width: min(92%, 410px);
    height: clamp(270px, 78vw, 360px);
    margin: 34px 0 6px auto;
  }
  .hero-art-grid { margin-top: 22px; }
}

/* Annotated review fixes: simplify the hero collage, separate the palette badge, and introduce Maha's portrait. */
.collage { bottom: 45px; height: 228px; }
.collage-tote { width: 48%; height: 220px; transform: rotate(-4deg); }
.collage-pot { width: 43%; height: 205px; margin-left: -22px; }
.collage-tools { display: none; }
.mandala-play { top: -20px; right: 24px; width: 88px; }
.about-photo { width: 116px; height: 116px; flex: 0 0 116px; border-radius: 38% 62% 55% 45% / 45% 42% 58% 55%; overflow: hidden; background: var(--soft-lavender); border: 7px solid var(--soft-lavender); transform: rotate(-3deg); }
.about-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
.about-copy { flex: 1; min-width: 0; }
@media (max-width: 850px) {
  .collage { bottom: 30px; }
  .mandala-play { top: -14px; right: 14px; width: 82px; }
}
@media (max-width: 600px) {
  .collage { bottom: 0; height: 148px; }
  .collage-tote { width: 49%; height: 142px; }
  .collage-pot { width: 47%; height: 132px; margin-left: -12px; }
  .mandala-play { top: -10px; right: 8px; width: 77px; }
  .about-photo { width: 84px; height: 84px; flex-basis: 84px; border-width: 5px; }
  .about { gap: 12px; align-items: flex-start; }
}

/* Final responsive system: one hero source of truth, predictable lower artwork layout. */
.hero-seo-line { display:block; font-size:.42em; line-height:1.15; letter-spacing:-.01em; color:var(--deep-teal); margin-top:12px; }
.hero-copy h1 { max-width: 760px; }
.hero-copy p { max-width: 580px; line-height:1.45; }
.hero-art-grid { width:100%; }
.hero-art-tile { transform:none !important; }
.hero-art-tile:nth-child(1) { border-radius:34px 62px 44px 58px / 46px 38px 58px 54px; }
.hero-art-tile:nth-child(2) { border-radius:58px 38px 56px 42px / 40px 58px 42px 60px; }
.hero-art-tile:nth-child(3) { border-radius:44px 56px 38px 62px / 56px 42px 58px 44px; }
.hero-art-tile img { object-fit:cover; }
.tile-mandala img { object-position:52% 50%; }
.tile-pottery img { object-position:50% 38%; }
.tile-totes img { object-position:50% 52%; }
.hero-photo img { object-fit:cover; object-position:52% center; }
.hero-art { max-width:560px; justify-self:end; }
.hero-art-grid { margin-left:auto; margin-right:auto; }
.hero-actions .button { min-height:50px; }
.hero-actions .button:focus-visible,.workshop-card:focus-visible,.gallery-item:focus-visible,.menu-toggle:focus-visible,.text-link:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
.card-image { overflow:hidden; }
.card-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.coral-card .card-image img { object-position:52% center; }
.lavender-card .card-image img { object-position:50% 38%; }
.yellow-card .card-image img { object-position:50% 52%; }
.teal-card .card-image img { object-position:50% 56%; }
.workshop-card .card-link { display:inline-flex; align-items:center; gap:7px; min-height:36px; font-size:14px; }
.workshop-card .card-link svg { width:18px; height:18px; }
.hero-dots { transform:scale(.82); }
.decor-arc.art-arc-right { opacity:.45; }
@media (min-width:1100px) {
  .hero-inner { grid-template-columns:minmax(0,.96fr) minmax(430px,.84fr); column-gap:54px; }
  .hero-art { width:92%; }
  .hero-art-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:34px; }
}
@media (min-width:601px) and (max-width:1099px) {
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(350px,.85fr); column-gap:28px; min-height:590px; }
  .hero-copy { padding-top:20px; }
  .hero-art { height:410px; width:100%; }
  .hero-art-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:26px; }
  .hero-art-tile { border-width:5px; }
}
@media (max-width:600px) {
  .hero-inner { display:flex; flex-direction:column; padding-bottom:56px; }
  .hero-copy { padding-top:8px; }
  .hero-seo-line { font-size:.44em; margin-top:9px; }
  .hero-copy p { max-width:340px; font-size:18px; }
  .hero-actions { display:grid; grid-template-columns:1fr; width:100%; max-width:350px; gap:10px; }
  .hero-actions .button { width:100%; min-height:50px; }
  .hero-art { width:min(92%,410px); height:clamp(270px,78vw,360px); margin:30px 0 0 auto; }
  .hero-art-grid { grid-template-columns:1fr; gap:14px; margin-top:24px; }
  .hero-art-tile { aspect-ratio:1.45; border-width:5px; }
  .hero-art-tile figcaption { font-size:13px; padding:8px 12px; }
  .hero-art-tile:nth-child(1),.hero-art-tile:nth-child(2),.hero-art-tile:nth-child(3) { border-radius:28px 48px 34px 44px / 34px 28px 44px 38px; }
  .workshop-card .card-link { font-size:15px; }
}
@media (max-width:370px) {
  .hero-copy h1 { font-size:34px; }
  .hero-art { width:100%; height:250px; }
  .hero-art-tile { aspect-ratio:1.25; }
}

/* Final reference composition: copy left, authentic layered artwork right. */
.hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(430px,.9fr); align-items:start; column-gap:54px; min-height:620px; padding-top:34px; padding-bottom:92px; }
.hero-copy { width:100%; padding-top:42px; }
.hero-art { display:block !important; grid-column:2; grid-row:1; position:relative; width:100%; max-width:610px; height:475px; margin:0; justify-self:end; }
.hero-art-grid { display:none !important; }
@media (min-width:601px) and (max-width:1099px) {
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(0,.86fr); column-gap:28px; min-height:555px; }
  .hero-copy { padding-top:22px; }
  .hero-art { height:390px; }
}
@media (max-width:600px) {
  .hero-inner { display:flex; flex-direction:column; min-height:0; padding-top:18px; padding-bottom:56px; }
  .hero-copy { padding-top:10px; }
  .hero-art { width:100%; height:320px; margin:30px 0 0; }
  .hero-art-grid { display:none !important; }
}
