/* Approved launch palette: DynaPuff, bright paint colors and generous white space. */
.colorful-site{--paper:#ffffff;--ink:#000000;--accent:#ff851f;--accent-ink:#000000;--pink:#fff4c5;--yellow:#ffe44d;--line:#e5e5e5;--sky:#32b5ec;--lime:#b5f967;--hot-pink:#f454c5;background:var(--paper)}
.colorful-site .announcement{background:#fff185;color:#000000;font-weight:700}
.colorful-site .button{background:#ff851f;border-color:#ff851f;color:#000000;box-shadow:none}
.colorful-site .button:hover{background:#ff9b43}.colorful-site .button:focus-visible{outline-color:#076d9a}
.colorful-site .header{background:var(--paper);border:0;padding-block:20px}.colorful-site .header .brand{min-width:0;flex-shrink:1}.colorful-site .header .brand-logo{width:300px;max-width:100%}.colorful-site .header nav{gap:24px}
.colorful-site .header-reserve{font-size:.95rem;padding:15px 23px}
.colorful-site .hero{grid-template-columns:1.12fr 1fr;gap:40px;padding-top:24px;padding-bottom:46px;align-items:center}
.colorful-site .hero .eyebrow{font-size:.7rem;letter-spacing:.17em;margin-bottom:18px}
.colorful-site h1{font-size:clamp(2.4rem,4vw,3.65rem);line-height:1.15;letter-spacing:-.03em}
.hero-intro,.hero-city{display:block}.painting-title{display:block;font-size:1.13em;line-height:1.14;margin-block:4px;letter-spacing:-.055em}
.painting-word{display:inline-block;white-space:nowrap}.painting-word>span{display:inline-block}.painting-word>span:nth-child(3n){transform:rotate(-3deg)}.painting-word>span:nth-child(4n){transform:rotate(3deg)}
.letter-sky{color:#32b5ec}.letter-lemon{color:#ffe44d}.letter-red{color:#ff303a}.letter-orange{color:#ff851f}.letter-pink{color:#f454c5}.letter-lime{color:#b5f967}
.colorful-site .hero-description{color:var(--ink);max-width:500px;margin-top:22px;font-size:1.1rem}
.colorful-site .hero-actions{gap:9px;margin-top:20px;align-items:flex-start}.launch-hero-button{font-size:1rem!important;padding:17px 24px!important;gap:14px;font-weight:700}
.hero-free-note{flex-basis:100%;font-size:.8rem;line-height:1.5;color:#000000}.colorful-site .hero-actions .text-link{font-size:.8rem}.colorful-site .hero-facts{font-size:.78rem;margin-top:16px}
.colorful-site .hero-visual{padding:7px 8px 10px 0}.colorful-site .hero-photo{border:7px solid #63c8f2;border-radius:42px;box-shadow:none;transform:rotate(2deg);background:#edf9fe}
.colorful-site .hero-photo img{width:100%;height:auto;max-height:540px;object-fit:cover}.colorful-site .hero-photo figcaption{font-size:.75rem;background:#edf9fe;padding:8px}
.hero-paw{position:absolute;width:74px;height:74px;right:0;bottom:12px;fill:#ffe44d;transform:rotate(18deg);pointer-events:none}
.colorful-site .hero-visual:after{content:'';position:absolute;right:14px;top:20px;width:60px;height:17px;border-radius:70% 20% 60% 25%;background:#ffe44d;transform:rotate(35deg);pointer-events:none}
.colorful-site .launch-banner{display:grid;grid-template-columns:.75fr 1.35fr 1fr;gap:24px;align-items:center;background:#fff7c7;border:0;border-radius:24px;padding:25px 30px;margin-bottom:42px}
.launch-banner-price{text-align:center;position:relative;isolation:isolate;padding:9px 6px}
.launch-banner-price:before{content:'';position:absolute;inset:0;z-index:-1;background:#fff080;border-radius:52% 29% 43% 25%;transform:rotate(-5deg)}
.colorful-site .launch-banner-price strong{font-family:var(--display);font-size:clamp(2.1rem,3.8vw,3.6rem);line-height:1.05;white-space:nowrap;color:#e72ba5}
.launch-banner-price>span{display:block;font-family:var(--display);font-size:1.05rem;margin-top:3px}
.launch-banner-copy{border-inline:1px solid #f0c862;padding-inline:24px;text-align:center}.colorful-site .launch-banner h2{font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.2}.colorful-site .launch-banner-copy p{color:var(--ink);font-size:.96rem;line-height:1.45;margin-top:7px}
.launch-banner-action{text-align:center}.colorful-site .launch-banner .button{background:#63c8f2;border-color:#63c8f2;color:#000000;gap:14px;width:100%;font-size:1rem;padding:15px 16px}.colorful-site .launch-banner .button:hover{background:#32b5ec}
.colorful-site .launch-banner-action p{font-size:.73rem;line-height:1.5;color:#000000;margin-top:9px}
.colorful-site .concept{display:flex;flex-direction:column;gap:36px;padding-top:0}.colorful-site .concept-copy{width:100%;order:0}.colorful-site .concept-visual{order:1;width:min(780px,100%);padding:0;margin:0}.colorful-site .concept-visual figure{transform:none;border-radius:26px;box-shadow:8px 8px 0 #e5f5fd}
.colorful-site .concept-copy>.eyebrow{display:none}.colorful-site .concept-copy h2{text-align:center;font-size:2.2rem}.colorful-site .concept-copy h2 em{color:var(--ink)}
.colorful-site .session-plan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:28px}
.colorful-site .session-plan>div{grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;border:0;padding:0 16px 0 0;border-right:1px solid var(--line)}.colorful-site .session-plan>div:last-child{border:0;padding-right:0}
.colorful-site .session-plan dt{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:1.5rem;background:#ff85d6}.colorful-site .session-plan>div:nth-child(2) dt{background:#63c8f2}.colorful-site .session-plan>div:nth-child(3) dt{background:#b5f967}.colorful-site .session-plan>div:nth-child(4) dt{background:#ffad64}
.colorful-site .session-plan h3{font-family:var(--font);font-weight:700;font-size:.93rem;line-height:1.45;letter-spacing:0}.colorful-site .session-plan p{font-size:.82rem;line-height:1.6;color:#000000}
.colorful-site .atelier{background:#ffffff}.colorful-site .atelier h2 em{color:#076d9a}.colorful-site .ticket{box-shadow:8px 9px 0 #8edaf7}.colorful-site .ticket-top{background:#fff185}.colorful-site .ticket-status{color:#000000}
.colorful-site .gallery-photos figure{background:#edf9fe}.colorful-site .gallery-control{border-color:#63c8f2}.colorful-site .gallery-control:hover:not(:disabled){background:#e7f7fe}
.colorful-site .faq h2 em{color:#a82479}.colorful-site .contact h2 em{color:#076d9a}.colorful-site .footer{border-top:3px solid #fff185}
.colorful-site .launch-dialog{border:3px solid #8edaf7;background:var(--paper)}.colorful-site .launch-price{background:#fff7c7;border-color:#fff080}.colorful-site .launch-price strong{color:#cf208e}.colorful-site .launch-consent input{accent-color:#076d9a}
.colorful-site .mobile-reserve .button{background:#ff851f;border-color:#ff851f}.colorful-site .mobile-reserve{border-top-color:#ffe44d}.colorful-site .booking-dialog .calendar-day.available{background:#076d9a;border-color:#076d9a}
@media(min-width:851px) and (max-width:1150px){.colorful-site .header{padding-inline:28px;gap:18px}.colorful-site .header .brand-logo{width:220px}.colorful-site .header nav{gap:14px;font-size:.8rem}.colorful-site .header-reserve{padding-inline:17px;font-size:.85rem}.colorful-site .hero{gap:28px}.colorful-site .session-plan{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.colorful-site .session-plan>div:nth-child(2){border:0}}
@media(max-width:850px){.colorful-site .header .brand-logo{width:280px}.colorful-site .hero{grid-template-columns:1fr;gap:20px;padding-top:24px}.colorful-site .hero-copy{display:contents}.colorful-site .hero .eyebrow{order:0;text-align:center;display:block;margin:0;font-size:.6rem;letter-spacing:.13em}.colorful-site #hero-title{order:1;text-align:center;font-size:clamp(1.9rem,5.7vw,3.1rem)}.painting-title{font-size:1.13em}.colorful-site .hero-visual{order:2;max-width:410px;width:100%;margin:auto;padding:0 8px 6px}.colorful-site .hero-photo{border-width:5px;border-radius:30px}.colorful-site .hero-photo img{max-height:420px}.colorful-site .hero-description{order:3;text-align:center;margin:0 auto;font-size:1rem;max-width:460px}.colorful-site .hero-actions{order:4;display:flex;align-items:center;justify-content:center;text-align:center;margin:0}.hero-free-note{margin:0}.colorful-site .hero-actions .text-link{align-self:center}.colorful-site .hero-facts{order:5;justify-content:center;margin:0}.hero-paw{width:54px;height:54px;right:0}.colorful-site .launch-banner{grid-template-columns:1fr;text-align:center;gap:17px;padding:24px;margin-top:0}.launch-banner-price{width:max-content;margin:auto;padding:9px 20px}.colorful-site .launch-banner-price strong{font-size:3rem}.launch-banner-copy{border:0;padding:0}.colorful-site .launch-banner h2{font-size:1.65rem}.colorful-site .launch-banner .button{max-width:360px;background:#ff851f;border-color:#ff851f}.colorful-site .launch-banner-action p{font-size:.8rem}.colorful-site .session-plan{grid-template-columns:1fr 1fr;gap:24px}.colorful-site .session-plan>div{border:0;padding:0}.colorful-site .concept-copy h2{font-size:2rem}.colorful-site .session-plan h3{font-size:1rem}.colorful-site .session-plan p{font-size:.9rem}}
@media(max-width:550px){.colorful-site .hero{gap:17px;padding-bottom:26px}.colorful-site .hero .eyebrow{font-size:.55rem}.colorful-site #hero-title{font-size:clamp(1.65rem,6.6vw,2.25rem)}.painting-title{font-size:1.16em;letter-spacing:-.065em}.colorful-site .hero-visual{max-width:340px}.colorful-site .hero-photo img{max-height:350px}.colorful-site .hero-description{font-size:.98rem}.colorful-site .launch-hero-button{font-size:.92rem!important;width:100%;padding:15px 16px!important}.colorful-site .hero-actions{width:100%}.colorful-site .session-plan{grid-template-columns:1fr;gap:0}.colorful-site .session-plan>div{padding:20px 0;border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr);gap:17px}.colorful-site .session-plan>div:last-child{padding:20px 0}.colorful-site .session-plan h3{font-family:var(--display);font-weight:500;font-size:1.1rem}.colorful-site .concept{gap:28px}.colorful-site .concept-visual{margin-bottom:4px}.colorful-site .launch-banner{padding:20px;margin-bottom:32px}.colorful-site .hero-facts{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.colorful-site .button{transition:none}.colorful-site .button:hover{transform:none}}

/* Keep the approved illustrated logo clear of the menu on small phones. */
@media(max-width:370px){.colorful-site .header .brand-logo{width:240px;max-width:calc(100vw - 84px)}}

/* Philosophy and breeder partnerships: existing white, sky, yellow and orange palette. */
.philosophy{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(28px,5vw,68px);align-items:center;color:var(--ink)}
.philosophy-copy,.breeder-card{min-width:0}
.philosophy h2{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.15;color:var(--ink)}
.philosophy p{font-size:1rem;line-height:1.8;margin-top:22px}
.philosophy .philosophy-signoff{font-weight:700;padding-left:18px;border-left:5px solid var(--yellow);max-width:430px}
.breeder-card{padding:clamp(24px,3vw,38px);border:3px solid #8edaf7;border-radius:30px;background:var(--paper)}
.breeder-card h3{font-size:clamp(1.65rem,2.4vw,2.2rem);line-height:1.2;color:var(--ink)}
.breeder-card p{margin-top:18px}
.breeder-contact{margin-top:26px;max-width:100%;gap:12px;text-align:center;white-space:normal;line-height:1.4}
.breeder-contact span{flex-shrink:0}
@media(max-width:850px){.philosophy{grid-template-columns:1fr;gap:28px}.philosophy h2{font-size:clamp(1.9rem,7.5vw,2.65rem)}.philosophy .philosophy-signoff{max-width:none}}
@media(max-width:550px){.breeder-card{padding:24px 20px;border-radius:24px}.breeder-contact{width:100%;font-size:.875rem;padding:15px 14px}.philosophy p{line-height:1.75}}

/* About the workshop and expanded section navigation. */
.about-us{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,68px);align-items:start;color:var(--ink)}
.about-us>div{min-width:0}.about-us h2{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.15;color:var(--ink)}
.about-us-copy{border-left:5px solid var(--yellow);padding-left:24px}.about-us-copy p{font-size:1rem;line-height:1.8}.about-us-copy p+p{margin-top:18px}
@media(min-width:1151px) and (max-width:1350px){.colorful-site .header .brand-logo{width:250px}.colorful-site .header nav{gap:14px;font-size:.8rem}.colorful-site .header{gap:18px;padding-inline:28px}.colorful-site .header-reserve{font-size:.85rem;padding-inline:17px}}
@media(max-width:1150px){.colorful-site .header-reserve{display:none}.colorful-site .menu-toggle{display:flex;flex-shrink:0;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:13px;padding:11px}.colorful-site .menu-toggle span{width:20px;height:1.5px;background:var(--ink);transition:transform .2s}.colorful-site .header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:5px;background:var(--paper);padding:12px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #0000000a;margin-left:0;font-size:1rem}.colorful-site .header nav.is-open{display:flex}.colorful-site .header nav>a{padding:12px 5px}.colorful-site .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.colorful-site .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}}
@media(max-width:850px){.about-us{grid-template-columns:1fr;gap:24px}.about-us h2{font-size:clamp(1.9rem,7.5vw,2.65rem)}.about-us-copy{padding-left:18px}}
