/* Sakura-light extension: all non-hero areas only, keeping approved mobile cover untouched */
:root{--kagura-rose:#be6586;--kagura-gold:#b18b60;--kagura-soft:#fffaf5;--kagura-border:#e8d3c9}
body{background:#fff9f7}
.section{position:relative}
.story,.services,.schedule,.review,.music,.journal,.faq,.contact,.professional{background-image:radial-gradient(ellipse at 95% 1%,rgba(255,217,222,.30),transparent 31%),radial-gradient(ellipse at 1% 95%,rgba(255,230,185,.22),transparent 32%)}
.story,.review,.journal{background-color:#fffdfb}
.services,.schedule,.faq{background-color:#fff8f5}
.professional,.music{background-color:#fffbf7}
.contact{background-color:#fff5f2}
.sectionhead .eng,.story .eyebrow,.services .service .en,.group-booking .eng{color:#b28a64}
.sectionhead h2,.story-copy h2,.contact h2{color:#684635}
.sectionhead .line{width:78px;background:linear-gradient(90deg,transparent,#d39da5,#c4a477,transparent);height:2px}
.sectionhead::after{content:'✧';display:block;text-align:center;font-size:17px;color:#cfb18a;margin:5px auto 0;line-height:1}
.services .service,.review .review-image,.journal article,.faq details{border-color:#ead6cc;box-shadow:0 12px 38px rgba(149,103,78,.065)}
.services .service-body,.review .review-panel{background:linear-gradient(135deg,#fffcfa,#fff7f5)}
.services .service-art{background:linear-gradient(145deg,#fff1ed,#ffeadb)}
.story::before,.services::before,.review::before,.journal::before,.contact::before{content:'';position:absolute;pointer-events:none;z-index:0;width:240px;height:240px;top:12px;right:-65px;background:url('sakura.svg') center/contain no-repeat;opacity:.075;transform:rotate(-8deg)}
.story > .container,.services > .container,.review > .container,.journal > .container,.contact > .container{position:relative;z-index:1}
.contact .button.fill{background:linear-gradient(105deg,#b76d89,#c77a94,#af6079);border-color:#b57586}
.contact .button:not(.fill){background:#fffcfa}
/* Legible, easy-tap event cards */
.kagura-schedule{padding:85px 0 91px!important;overflow:hidden}
.kagura-schedule::before,.kagura-schedule::after{content:'';position:absolute;pointer-events:none;z-index:0;width:300px;height:320px;background:url('sakura.svg') center/contain no-repeat;opacity:.14}
.kagura-schedule::before{top:-95px;left:-85px;transform:rotate(22deg)}
.kagura-schedule::after{right:-160px;bottom:170px;transform:rotate(180deg)}
.kagura-schedule .container{position:relative;z-index:1}
.kagura-schedule .sectionhead{margin-bottom:45px}
.schedule-month-block{max-width:990px;margin:0 auto 29px}
.schedule-month-heading{display:flex;align-items:baseline;gap:17px;margin:0 0 18px!important;font:500 20px/1.6 var(--serif);color:#754f3c;letter-spacing:.04em}
.schedule-month-heading::after{content:'';height:1px;background:linear-gradient(90deg,#d4b08e,transparent);flex:1;align-self:center}
.schedule-month-heading span{font:italic 25px/1 var(--eng);color:#c88e98;letter-spacing:.04em}
.kagura-schedule .eventgrid.schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.kagura-schedule .event.schedule-event{display:flex;flex-direction:column;align-items:stretch;text-align:center;border:1px solid #dfbfac;border-radius:15px;overflow:hidden;background:linear-gradient(148deg,#fffdfb,#fff9f5);box-shadow:0 10px 25px #956e5613;padding:0;position:relative;transition:transform .18s,border-color .18s,box-shadow .18s;color:#5c4339;min-width:0;cursor:pointer}
.kagura-schedule .event.schedule-event:hover,.kagura-schedule .event.schedule-event:focus-visible{transform:translateY(-3px);border-color:#d49fa3;box-shadow:0 17px 34px #956e5621;background:#fff9f6}
.kagura-schedule .event.schedule-event:focus-visible{outline:3px solid #d29e87;outline-offset:3px}
.event-top{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:16px 6px 10px;background:radial-gradient(ellipse at 10% 5%,#fff3f0,transparent 70%),linear-gradient(#fffaf6,#fff6ef);border-bottom:1px solid #f0e0d6;min-height:98px}
.event-month{font:500 16px/1.2 var(--serif);color:#987351}
.event-date{font:500 51px/1 var(--eng);color:#8e6448}
.event-week{font:500 14px/1.35 var(--serif);color:#a97684;background:#fff;border:1px solid #eddbd9;border-radius:20px;padding:4px 11px}
.event-week.holiday{color:#b45f77}
.event-meta{font-size:12px;color:#988072;margin-top:12px}
.event-time{font:600 19px/1.5 var(--sans);color:#604638;margin-top:3px;letter-spacing:.015em}
.event-time span{color:#b79169;font-weight:normal}
.event-course{font:500 13px var(--serif);margin:7px 0 13px;color:#80695f}
.event-action{font:500 12px/1.6 var(--sans);color:#fff;background:linear-gradient(110deg,#b96b87,#c78192,#aa6986);padding:11px 8px 12px;margin-top:auto;letter-spacing:.035em}
.event-action span{margin-left:5px}
.schedule-note{text-align:center;margin:26px 0 0;color:#827269;font-size:12px;line-height:1.85}
.schedule-alt{text-align:center;margin:15px auto 0;font-size:13px;color:#776658}
.schedule-alt a{color:#a45973;text-underline-offset:4px;text-decoration:underline}
/* Preselected, real Wix Forms v4-backed group booking */
.group-booking{scroll-margin-top:94px;max-width:990px;margin:43px auto 0;border:1px solid #e6c8bc;border-radius:22px;background:radial-gradient(ellipse at 98% 0%,#fce5ec,#fffdfa 46%),linear-gradient(135deg,#fffefb,#fff5f1);box-shadow:0 18px 55px #9c766024;padding:38px clamp(18px,4.6vw,53px) 31px}
.group-booking:focus{outline:none}
.group-booking-head{text-align:center;margin:0 auto 27px}
.group-booking-symbol{color:#c38c93;font-size:23px;line-height:1}
.group-booking-head .eng{font:italic 25px/1.4 var(--eng);letter-spacing:.06em}
.group-booking h3{font:500 clamp(20px,2.4vw,27px)/1.5 var(--serif);color:#79503e;margin:3px 0 12px}
.group-booking-head p{font:400 13px/1.9 var(--sans);color:#7a6a60;max-width:640px;margin:0 auto}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 19px}
.booking-field{display:flex;flex-direction:column;gap:7px;font:500 13px/1.6 var(--sans);color:#6f5045;min-width:0}
.booking-field>span{display:block}
.booking-field input:not([type='radio']),.booking-field select,.booking-field textarea{appearance:none;background:#fffefa;border:1px solid #dac4b7;border-radius:9px;min-height:49px;padding:12px 13px;font:400 15px/1.5 var(--sans);color:#514138;width:100%;outline:none;box-shadow:0 1px 2px #84583c09}
.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:#be8294;box-shadow:0 0 0 3px #eab9c147}
.booking-field input[readonly]{background:#fff3f0;color:#906351;font-weight:600}
.booking-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='12'%3E%3Cpath d='m2 4 5 5 5-5' fill='none' stroke='%238e684b' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}
.booking-field textarea{resize:vertical;min-height:92px}
.booking-wide,.booking-pay{grid-column:1/-1}
fieldset.booking-field{border:none;padding:0;margin:0}
.booking-pay legend{padding:0;margin-bottom:9px;font:500 13px var(--sans)}
.booking-pay legend small{margin-left:8px;color:#948176;font-weight:400}
.pay-options{display:flex;flex-wrap:wrap;gap:10px}
.pay-options label{display:flex;gap:7px;align-items:center;background:#fffefa;border:1px solid #e1ccc1;border-radius:999px;padding:9px 15px;color:#655248;font-size:13px;cursor:pointer}
.pay-options input{accent-color:#b76b86}
.booking-bottom{text-align:center;margin:26px auto 0}
.booking-bottom>p{font-size:12px;color:#83766f;margin:0 0 17px;line-height:1.85}
.booking-submit{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-width:min(100%,360px);border:1px solid #b17f80;border-radius:999px;color:white;background:linear-gradient(115deg,#b56582,#c77d96,#a95d7a);font:600 14px/1.6 var(--sans);padding:14px 24px;cursor:pointer;box-shadow:0 10px 22px #b8838742;transition:transform .2s,filter .2s}
.booking-submit:hover{filter:brightness(1.06);transform:translateY(-2px)}
.booking-submit:disabled{opacity:.6;cursor:wait}
.booking-submit:focus-visible,.booking-copy:focus-visible,.booking-wix-link:focus-visible{outline:3px solid #c68c92;outline-offset:3px}
.booking-status{margin:12px auto 0!important;font-size:13px!important;min-height:0;max-width:640px;color:#7e4e54!important;font-weight:500}
.booking-status[data-success="true"]{color:#387459!important}
.booking-fallback{margin:14px auto 0;padding:15px;background:#fff7ee;border:1px solid #e2cab6;border-radius:12px;max-width:590px}
.booking-fallback[hidden]{display:none}
.booking-fallback p{font-size:12px;margin:0 0 10px;color:#80675a}
.booking-copy,.booking-wix-link{display:inline-flex;border:1px solid #bf9b81;border-radius:24px;margin:4px;padding:8px 14px;line-height:1.5;font-size:12px;color:#8b5e4a;background:#fff;cursor:pointer}
@media(max-width:970px){.kagura-schedule .eventgrid.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.kagura-schedule{padding:65px 0 68px!important}.kagura-schedule::before,.kagura-schedule::after{width:180px;height:200px;opacity:.13}.schedule-month-block{margin-bottom:24px}.schedule-month-heading{font-size:17px;gap:12px}.schedule-month-heading span{font-size:22px}.kagura-schedule .eventgrid.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.event-top{min-height:80px;padding:13px 4px 8px;gap:5px}.event-date{font-size:44px}.event-month{font-size:12px}.event-week{font-size:11px;padding:4px 7px}.event-meta{font-size:10px;margin-top:10px}.event-time{font-size:16px;letter-spacing:-.025em}.event-course{font-size:11px;margin-bottom:10px}.event-action{font-size:11px;padding:10px 4px}.schedule-note{font-size:11px}.schedule-alt{font-size:12px;line-height:1.8}.group-booking{margin-top:34px;padding:25px 16px 24px;border-radius:15px}.booking-fields{grid-template-columns:1fr;gap:15px}.booking-field{font-size:12px}.booking-field input:not([type='radio']),.booking-field select,.booking-field textarea{font-size:14px}.group-booking-head p{font-size:12px}.pay-options{gap:8px}.pay-options label{font-size:12px;padding:9px 12px}.booking-submit{width:100%;min-width:0;font-size:13px}.story::before,.services::before,.review::before,.journal::before,.contact::before{width:150px;height:160px;right:-45px}}
@media(max-width:365px){.event-date{font-size:37px}.event-week{font-size:10px}.event-month{font-size:11px}.event-time{font-size:14px}}
@media(prefers-reduced-motion:reduce){.event.schedule-event,.booking-submit{transition:none}}
