/* Art direction based on the approved DOT ART reference. Isolated from legacy rules. */
:root{--cream:#fff9f2;--plum:#421747;--coral:#f45b60;--yellow:#ffc52f;--teal:#09a7ae;--deep-teal:#00636b;--lavender:#ebd7f1;--soft-lavender:#ebd7f1}
html{scroll-padding-top:80px}body{background:var(--cream);color:var(--plum);font-size:16px;overflow-x:hidden}.wrap{width:min(90%,1160px);max-width:1160px}.site-header{height:84px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px;width:auto}.brand img{width:63px;height:70px;object-fit:contain}.brand-subtitle{display:none}.site-header nav{gap:clamp(22px,4.5vw,65px);font-size:15px}.site-header nav a{padding:8px 0}.site-header nav a:after{bottom:1px;height:3px}.site-header .header-contact{min-height:38px;padding:6px 22px;background:linear-gradient(110deg,#883573,#4a144e);border-color:#421747;color:#fff;font-size:14px}.header-contact .wa-icon{display:none}
.hero{overflow:visible;padding:0;position:relative;isolation:isolate}.hero:before,.art-section:before{content:"";position:absolute;background:url('assets/leaf-sprig.svg') center / contain no-repeat;width:160px;height:218px;left:-75px;top:-58px;transform:rotate(32deg);z-index:5;pointer-events:none}.hero:after{content:"";position:absolute;background:url('assets/leaf-sprig.svg') center / contain no-repeat;width:143px;height:190px;right:-56px;top:-46px;transform:scaleX(-1) rotate(10deg);z-index:5;pointer-events:none}
.hero-inner{width:min(94%,1240px);min-height:0;padding:0 0 22px;display:grid;grid-template-columns:47% 53%;gap:0;align-items:center}.hero-copy{padding:4px 0 0 5%;z-index:3;width:100%}.hero-copy h1{font-size:clamp(34px,4.15vw,62px);line-height:1.03;letter-spacing:-.045em;white-space:nowrap}.hero-copy h1 .coral{color:var(--plum)}.hero-second{position:relative;isolation:isolate}.hero-second:before{content:'';position:absolute;z-index:-1;left:-5%;right:-4%;top:52%;height:43%;background:#ffe38a;border-radius:50% 40% 50% 35%;transform:rotate(-2deg)}.hero-seo-line{font-family:var(--heading);font-weight:800;font-size:clamp(16px,1.75vw,23px);color:var(--plum);margin:17px 0 4px;line-height:1.2;letter-spacing:0}.hero-copy>p:not(.hero-seo-line){font-size:clamp(14px,1.3vw,18px);line-height:1.3;margin:5px 0 18px;max-width:490px}.hero-actions{margin:0;gap:16px;flex-wrap:nowrap}.hero-actions .button{min-height:43px;font-size:clamp(12px,1.15vw,15px);padding:8px 17px}.button.primary{background:linear-gradient(165deg,#ff726b,var(--coral));color:#fff;border-color:#e64650;box-shadow:0 4px 9px #df6b6340}.button.outline{background:#fffaf5;color:var(--deep-teal);border-color:#087882;box-shadow:0 3px 7px #4a144e18}.button.plum-outline{background:linear-gradient(110deg,#85346f,#4a144e);border-color:#4a144e;color:#fff}.hero-actions .button svg{width:20px;height:20px}.hero-benefits{display:flex;gap:9px;margin:15px 0 0;flex-wrap:wrap}.hero-benefits span{font-size:11px;padding:8px 10px;background:#ffebe8;border-radius:100px;color:var(--plum)}.hero-benefits span:nth-child(2){background:#f5eaf3}.hero-benefits span:nth-child(3){background:#fcefea}.hero-benefits svg{width:19px;height:19px}
.hero-art{display:block!important;position:relative;top:auto;grid-column:2;grid-row:1;max-width:none;width:105%;height:390px;justify-self:start;margin:0;z-index:2}.hero-collage,.hero-dots,.hero-art-grid,.hero-arc,.art-caption,.mandala-play{display:none!important}.studio-frame{position:absolute;inset:5px 0 4px 0;border:9px solid #f8d561;border-left-color:#dfb5e7;border-bottom-color:#ef99a8;border-radius:34% 46% 29% 44% / 42% 31% 45% 35%;overflow:hidden;transform:rotate(-1.5deg);background:#e5d5bd;box-shadow:0 10px 35px #6b375028}.studio-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.025)}.hero-halo{position:absolute;inset:0;border:10px solid #e6bde7;border-radius:45% 40% 43% 34%;transform:rotate(6deg);z-index:-1}.hero-wave{height:45px;bottom:-26px;z-index:4}.hero-wave path:not(.wave-yellow){fill:var(--cream)}.wave-yellow{animation:none}.hero-copy .rays{right:-18px;top:-14px;transform:scale(.65) rotate(-13deg)}
.workshops{padding-top:34px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:clamp(28px,2.9vw,39px)}.section-heading p{font-size:15px;margin-top:5px}.sun-heading:before,.sun-heading:after{transform:scale(.72) rotate(25deg)}.workshop-grid{gap:18px}.workshop-card{min-height:0;border-radius:22px;box-shadow:0 7px 18px #652b3b12;border:1px solid #8f427020}.card-image{height:clamp(120px,13vw,180px);flex-shrink:0;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover}.card-copy{min-height:151px;padding:13px 15px 14px;display:flex;flex-direction:column;background:var(--card)}.card-copy:before{display:none}.coral-card{--card:#ffc7c3}.lavender-card{--card:#e6c7eb}.yellow-card{--card:#ffe29a}.teal-card{--card:#b5e6dd}.card-copy h3{font-size:clamp(17px,1.55vw,21px);letter-spacing:-.02em}.card-copy h3:before{width:23px;height:23px;flex-basis:23px;font-size:13px}.card-copy p{font-size:clamp(12px,1.13vw,15px);line-height:1.2;margin-top:6px}.card-link,.workshop-card .card-link{margin-top:auto;font-size:clamp(11px,1vw,14px);font-weight:900;padding-top:10px;opacity:1;min-height:0}.card-dots{display:none}.workshop-help{display:none}.private-banner{min-height:82px;margin:22px 0 25px;padding:12px 26px;gap:16px;background:linear-gradient(100deg,#f0d9f2,#fce8e5);border-radius:60px}.calendar-decor{width:65px}.calendar-decor>svg{width:54px;height:54px}.private-copy h3{font-size:clamp(18px,2vw,26px)}.private-copy p{font-size:14px}.private-banner .button{font-size:13px;min-height:38px}.bunting{color:#e66880}
.art-section{overflow:visible;padding:0}.art-section:before{top:-45px;left:-75px;transform:rotate(-24deg)}.art-section .section-heading{margin-bottom:14px}.gallery-shell{gap:0}.gallery-shell .gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;overflow:hidden;flex:1}.gallery-shell .gallery-item{aspect-ratio:1.16;min-width:0;border-radius:16px;background:#f4e9e9;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;background:#f2e7e7}.gallery-item:nth-child(1) img{object-position:50% 40%}.gallery-control{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--plum);box-shadow:0 2px 10px #42174729;z-index:2}.gallery-prev{margin-right:-20px}.gallery-next{margin-left:-20px}
.kit-section{width:min(90%,1160px);max-width:1160px;display:grid;grid-template-columns:32% 1fr;gap:4%;align-items:center;min-height:205px;padding:20px 0;margin-top:22px;position:relative}.kit-section:before{content:"";position:absolute;inset:18px -3% 8px 20%;background:linear-gradient(100deg,#fce8e7,#fbe1ef 55%,#fff6e5);border-radius:35% 40% 35% 43%;transform:rotate(-2deg);z-index:-1}.kit-image{max-width:320px;justify-self:start;transform:rotate(-3deg)}.kit-image img{aspect-ratio:1.18;object-fit:cover;border:7px solid white;border-radius:23px;box-shadow:0 8px 18px #42174729}.kit-copy{max-width:560px}.kit-copy .eyebrow,.kit-detail{display:none}.kit-copy h2{font-size:clamp(25px,2.5vw,34px);line-height:1.08;margin:0 0 8px}.kit-copy p{font-size:clamp(13px,1.2vw,16px);line-height:1.35;margin:0 0 12px}.kit-copy .button{font-size:13px;min-height:39px}.about{padding:18px 0 42px;display:grid;grid-template-columns:100px minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:center}.about-photo{width:100px;height:100px;border-radius:50%;border:5px solid white;box-shadow:0 2px 12px #4217472e;transform:none}.about-photo img{object-fit:cover;object-position:center 20%}.about-dot,.about .text-link{display:none}.about-copy h2{font-size:24px}.about-copy p{font-size:13px;line-height:1.25}.about blockquote{font-size:17px;line-height:1.25;margin:0;padding-left:24px;border-left:1px solid var(--plum);font-weight:800}
footer{margin-top:0;background:var(--plum);color:#fff;position:relative}.footer-wave{height:35px;top:-31px}.footer-wave path:first-child{fill:#ffc15a}.footer-wave path:last-child{fill:#6c1c60}.footer-inner{min-height:125px;padding:20px 0;display:grid;grid-template-columns:100px minmax(160px,1fr) auto auto;gap:24px;align-items:center}.footer-brand img{width:75px;height:80px;object-fit:contain}.footer-copy{padding-left:18px;border-left:3px solid var(--yellow)}.footer-copy h2{color:var(--yellow);font-size:22px}.footer-copy p{font-size:13px;line-height:1.3}.footer-inner .button{border:1px solid white;background:transparent;color:white;font-size:12px;min-height:36px;padding:6px 12px}.footer-social{font-size:12px}.footer-social .phone{display:block}.footer-bottom{font-size:11px;padding:5px 0 12px}
@media(max-width:900px){.wrap{width:min(92%,760px)}.site-header{height:80px}.site-header nav{gap:18px}.site-header nav a{font-size:13px}.hero-inner{width:94%;grid-template-columns:48% 52%}.hero-copy{padding-left:1%}.hero-copy h1{font-size:clamp(28px,4.5vw,42px)}.hero-art{height:335px}.hero-actions{flex-wrap:wrap;gap:8px}.hero-benefits span{font-size:10px}.workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-image{height:190px}.card-copy{min-height:135px}.gallery-shell .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-item:nth-child(n+4){display:none}.footer-inner{grid-template-columns:80px 1fr auto}.footer-social{grid-column:2 / -1;display:flex;gap:20px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.site-header{height:76px}.site-header .brand img{width:55px;height:61px}.site-header nav{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:1px solid var(--plum);border-radius:30px;background:var(--cream);padding:8px 12px}.site-header .header-contact{display:none}.site-header nav.open,.site-header nav[aria-expanded="true"]{display:flex;position:absolute;top:72px;right:0;width:min(270px,85vw);padding:18px;background:var(--cream);border-radius:18px;box-shadow:0 8px 24px #42174727;flex-direction:column;z-index:20}.hero:before{width:90px;height:125px;left:-45px;top:-45px}.hero:after{width:90px;height:125px;right:-42px;top:230px}.hero-inner{display:flex;flex-direction:column;padding:4px 0 22px;width:calc(100% - 36px)}.hero-copy{padding:0;width:100%}.hero-copy h1{font-size:clamp(32px,8.7vw,47px);white-space:normal;letter-spacing:-.05em}.hero-seo-line{margin-top:13px;font-size:18px}.hero-copy>p:not(.hero-seo-line){font-size:15px;margin:8px 0 14px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:none}.hero-actions .button{white-space:normal;min-height:47px;text-align:center;font-size:12px;padding:7px 6px}.hero-actions .button svg{width:17px;height:17px}.hero-benefits{gap:5px;margin:12px 0}.hero-benefits span{font-size:10px;padding:7px}.hero-benefits svg{width:15px;height:15px}.hero-art{height:clamp(260px,75vw,390px);width:100%;margin-top:4px;align-self:center;max-width:520px}.studio-frame{inset:6px;border-width:7px}.hero-wave{height:37px;bottom:-18px}.workshops{padding-top:35px}.section-heading h2{font-size:29px}.section-heading p{font-size:14px}.workshop-grid{grid-template-columns:1fr;gap:16px}.workshop-card{min-height:0}.card-image{height:210px}.card-copy{min-height:125px;padding:16px 20px}.card-copy h3{font-size:23px}.card-copy p{font-size:15px;max-width:none}.workshop-card .card-link{font-size:14px}.private-banner{border-radius:28px;display:grid;grid-template-columns:46px 1fr;gap:10px;padding:16px;margin:22px 0 27px}.calendar-decor{width:45px}.calendar-decor>svg{width:40px;height:40px}.private-copy h3{font-size:20px}.private-copy p{font-size:13px}.bunting{display:none}.private-banner .button{grid-column:1/-1;margin:4px 0 0;width:100%}.gallery-shell .gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px}.gallery-shell .gallery-item,.gallery-item:nth-child(n+4){display:block;flex:0 0 72%;aspect-ratio:1.2;scroll-snap-align:start}.gallery-control{width:34px;height:34px;flex:0 0 34px}.kit-section{display:grid;grid-template-columns:1fr;gap:14px;padding:25px 0;margin-top:12px}.kit-section:before{inset:17% -4% 0}.kit-image{width:75%;justify-self:center}.kit-image img{aspect-ratio:1.4}.kit-copy{padding:0 6px}.kit-copy h2{font-size:28px}.kit-copy p{font-size:15px}.about{display:grid;grid-template-columns:85px 1fr;padding:35px 0 52px;gap:12px}.about-photo{width:85px;height:85px}.about-copy h2{font-size:22px}.about-copy p{font-size:14px}.about blockquote{grid-column:1/-1;font-size:16px;padding-left:12px;margin-top:6px}.footer-inner{grid-template-columns:70px 1fr;gap:12px}.footer-brand img{width:65px;height:70px}.footer-copy h2{font-size:20px}.footer-inner .button{grid-column:1/-1;width:100%}.footer-social{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}.footer-bottom{display:flex;justify-content:space-between;gap:8px}}
@media(max-width:370px){.hero-actions{grid-template-columns:1fr}.hero-art{height:255px}.hero-benefits span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.studio-frame,.hero-halo,.wave-yellow{animation:none!important;transform:none!important}}
/* Keep the arrows meaningful: the sixth authentic photo sits just beyond the rail. */
@media(min-width:901px){.gallery-shell .gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-shell .gallery-item{flex:0 0 calc((100% - 48px)/5);scroll-snap-align:start}.gallery-shell .gallery-item:nth-child(n){display:block}}
@media(min-width:601px) and (max-width:900px){.gallery-shell .gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-shell .gallery-item{flex:0 0 calc((100% - 24px)/3);scroll-snap-align:start}.gallery-shell .gallery-item:nth-child(n){display:block}}
/* Natural foliage echoes the reference framing without covering content. */
.hero:before,.hero:after,.art-section:before{background-image:url('assets/botanical-corner-v2.webp');background-size:contain;filter:drop-shadow(0 5px 5px #34482b28)}
.hero:before{width:280px;height:190px;left:-75px;top:-34px;transform:rotate(10deg)}
.hero:after{width:285px;height:190px;right:-58px;top:-48px;transform:scaleX(-1) rotate(-8deg)}
.art-section:before{width:255px;height:180px;left:-88px;top:-70px;transform:rotate(-25deg)}
@media(max-width:600px){.hero:before{width:150px;height:105px;left:-55px;top:-28px}.hero:after{width:155px;height:110px;right:-53px;top:235px}.art-section:before{width:150px;height:100px;left:-65px;top:-35px}}
/* Keep botanical framing outside the readable header and headline. */
.hero:before{left:-155px;top:-18px;width:260px;height:180px}
.hero:after{right:-155px;top:66px;width:255px;height:175px}
@media(max-width:600px){.hero:before{left:-110px;top:10px;width:150px;height:105px}.hero:after{right:-115px;top:300px;width:150px;height:105px}}
@media(max-width:600px){
  .menu-toggle{position:relative;z-index:31;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:94px;min-height:44px;padding:8px 14px;border:1.5px solid #42174755;border-radius:999px;background:#fffaf4;color:var(--plum);font:800 14px/1 var(--heading);box-shadow:0 3px 10px #42174712}
  .menu-lines{display:grid!important;align-content:center;gap:3px;width:19px!important;height:16px!important;border:0!important;position:relative}
  .menu-lines i{display:block;width:19px;height:2px;border-radius:99px;background:currentColor;transition:transform .2s,opacity .2s}
  .site-header.menu-open .menu-lines i:nth-child(1){transform:translateY(5px) rotate(45deg)}
  .site-header.menu-open .menu-lines i:nth-child(2){opacity:0}
  .site-header.menu-open .menu-lines i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
  .site-header nav{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s}
  .site-header nav.open{display:flex!important;visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
  .site-header nav.open a{min-height:42px;display:flex;align-items:center;padding:9px 12px;border-radius:10px}
  .site-header nav.open a:hover,.site-header nav.open a:focus-visible{background:#f2e2ee}
  .footer-bottom{align-items:flex-start;flex-wrap:wrap}
  .footer-credit{display:block;margin-top:3px}
  .footer-credit a{text-decoration:underline;text-underline-offset:2px;color:var(--yellow);font-weight:800}
}
@media(min-width:601px){.footer-credit a{text-decoration:underline;text-underline-offset:2px;color:var(--yellow);font-weight:800}}

/* Keep botanical accents in the margins so they never compete with copy. */
.hero:before{left:-118px;top:-22px;width:138px;height:178px;z-index:1}
.hero:after{right:-110px;top:-24px;width:126px;height:166px;z-index:1}
.art-section:before{left:-104px;top:-20px;width:128px;height:172px;z-index:0}

@media(max-width:600px){
  .hero:before{left:-112px;top:12px;width:138px;height:170px;transform:rotate(25deg)}
  .hero:after{right:-118px;top:12px;width:132px;height:164px;transform:scaleX(-1) rotate(8deg)}
  .art-section:before{left:-116px;top:20px;width:132px;height:168px}
  .menu-toggle{gap:10px;min-width:96px;min-height:44px;padding:8px 14px}
  .menu-lines{display:flex!important;flex-direction:column;justify-content:center;gap:4px;width:20px!important;height:16px!important}
  .menu-lines i{width:20px;height:2px;flex:0 0 2px;border-radius:2px;transform-origin:center;transition:transform .2s ease,opacity .16s ease}
  .site-header.menu-open .menu-lines i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .site-header.menu-open .menu-lines i:nth-child(2){opacity:0}
  .site-header.menu-open .menu-lines i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}

/* Final mobile navigation: compact, symmetrical, and free of the legacy fourth bar. */
@media(max-width:600px){
  .menu-toggle{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    padding:0!important;
    gap:0!important;
    border:0!important;
    border-radius:50%!important;
    background:var(--plum)!important;
    color:var(--cream)!important;
    box-shadow:0 6px 16px #42174726!important;
  }
  .menu-label{display:none!important}
  .menu-lines,
  .menu-lines:before,
  .menu-lines:after{
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    width:22px!important;
    height:18px!important;
    border:0!important;
    background:transparent!important;
    position:relative;
  }
  .menu-lines:before,.menu-lines:after{content:none!important}
  .menu-lines i{
    display:block!important;
    width:22px!important;
    height:2px!important;
    flex:0 0 2px!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:currentColor!important;
    transform-origin:center!important;
    transition:transform .22s ease,opacity .16s ease!important;
  }
  .site-header.menu-open .menu-lines i:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .site-header.menu-open .menu-lines i:nth-child(2){opacity:0!important}
  .site-header.menu-open .menu-lines i:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
  .site-header nav.open{top:68px!important;right:0!important;width:min(250px,84vw)!important;padding:12px!important;border:1px solid #42174718!important;border-radius:18px!important;background:var(--cream)!important;box-shadow:0 14px 30px #42174724!important}
}

/* Prevent page-level sideways movement without changing the existing mobile sizing. */
@media(max-width:600px){
  html,
  body{
    overflow-x:hidden!important;
  }
  body{
    touch-action:pan-y;
  }
  .gallery-shell{
    overflow:hidden;
  }
  .gallery-shell .gallery{
    overscroll-behavior-x:contain;
    touch-action:pan-x pan-y;
  }
}
