/* Approved refinement 1–6. Original branding and native blocks are retained. */
:root { --ease-soft: cubic-bezier(.16,1,.3,1); }
.balansiki-hero-photo::after { display: none; }
.balansiki-hero-copy::before { width: 29px; height: 36px; right: 30px; }
.balansiki-hero .balansiki-link-button .wp-block-button__link { box-shadow: none; border-bottom: 1px solid var(--green); }
.balansiki-pillars figure { height: 58px; }
.balansiki-pillars img { width: 58px; height: 58px; }
.balansiki-pillars h3 { margin-top: 8px !important; }
.balansiki-offer-card { box-shadow: 0 3px 12px #294b400b; transition: transform .32s var(--ease-soft), box-shadow .32s var(--ease-soft); }
.balansiki-offer-card p { font-size: 14px; line-height: 1.55; }
.balansiki-offer-card h3 { margin-top: 17px !important; }
@media (hover:hover) {
  .balansiki-offer-card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px #294b4010; }
}
.balansiki-about { padding-top: 26px; padding-bottom: 30px; }
.balansiki-about .wp-block-columns { gap: clamp(34px,5vw,65px); }
.balansiki-portrait-placeholder {
  min-height: 238px; padding: 30px 36px; width: 100%; max-width: 400px;
  border-radius: 42% 35% 39% 31% / 40% 43% 35% 36%;
  background: #e7eadf; overflow: hidden;
}
.balansiki-portrait-placeholder::before { height: 40px; width: 25px; margin-bottom: 10px; }
.balansiki-portrait-placeholder p:first-of-type { font-size: 1.55rem; max-width: 16ch; margin-top: 0; }
.balansiki-portrait-placeholder p:last-child { margin-top: 12px; font-size: 12px; }
.balansiki-portrait-placeholder::after { width: 165px; height: 54px; opacity: .5; bottom: 12px; }
/* Future native portrait: replace the temporary group with an ordinary Image block. */
.balansiki-about > .wp-block-columns > .wp-block-column:first-child > .wp-block-image { max-width: 370px; margin-inline: auto; }
.balansiki-about > .wp-block-columns > .wp-block-column:first-child > .wp-block-image img {
  display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover;
  border-radius: 41% 35% 34% 28% / 26% 31% 24% 30%;
}
/* Image and future native Video blocks share one stable media stage; no empty player is emitted. */
.balansiki-media-stage .wp-block-video { width: 100%; margin: 0; }
.balansiki-media-stage video {
  display: block; width: 100%; aspect-ratio: 856/575; object-fit: cover;
  border-radius: 42% 40% 24% 26% / 30% 31% 23% 24%; background: var(--sage);
}
.balansiki-process { padding-top: 28px; padding-bottom: 56px; }
.balansiki-process h3 { font-size: 1.55rem; }
.balansiki-process p { font-size: 14px; line-height: 1.6; }
.balansiki-process-grid > .wp-block-column::before { display: none; } /* Numbers already exist in the approved illustration. */
.balansiki-process-grid > .wp-block-column:not(:last-child)::after { display: none; } /* The source illustrations also carry their own small arrows. */
.balansiki-breath [data-breath-orb] {
  display: grid; place-items: center; width: 190px; height: 156px;
  margin: 25px auto 18px; border: 0; border-radius: 0; background: none; transform: none;
}
.balansiki-breath [data-breath-orb].is-breathing { animation: none; }
.balansiki-lotus-bloom { display: block; width: 180px; height: auto; transform-origin: 50% 90%; }
.balansiki-breath .is-breathing .balansiki-lotus-bloom {
  animation: balansiki-lotus-open 8s ease-in-out infinite;
  animation-delay: var(--breath-elapsed,0ms);
}
@keyframes balansiki-lotus-open {
  0%,100% { transform: scale(.82,.78); opacity: .8; }
  50% { transform: scale(1,1); opacity: 1; }
}
@media (max-width:781px) {
  .balansiki-hero h1 { letter-spacing: -.035em; }
  .balansiki-hero-copy { padding-top: 18px; }
  .balansiki-hero .balansiki-intro { margin-bottom: 20px; }
  .balansiki-hero .balansiki-location { margin-top: 14px !important; }
  .balansiki-pillars { padding-block: 19px 20px; }
  .balansiki-pillars figure { height: 40px; margin-bottom: 4px; }
  .balansiki-pillars img { width: 40px; height: 40px; }
  .balansiki-pillars h3 { margin-top: 4px !important; }
  .balansiki-section { padding-top: 32px; padding-bottom: 30px; }
  .balansiki-card-grid { gap: 20px !important; }
  .balansiki-offer-card > .wp-block-image img { height: clamp(168px,48vw,245px); aspect-ratio: auto; }
  .balansiki-offer-card { padding-bottom: 21px; }
  .balansiki-offer-card h3 { font-size: 1.7rem; margin-top: 13px !important; }
  .balansiki-offer-card p { font-size: 14px; }
  .balansiki-about { padding-top: 12px; padding-bottom: 18px; }
  .balansiki-about .wp-block-columns { gap: 23px; }
  .balansiki-portrait-placeholder { min-height: 188px; max-width: 345px; padding: 23px 28px; }
  .balansiki-portrait-placeholder::before { height: 28px; width: 19px; margin-bottom: 8px; }
  .balansiki-portrait-placeholder p:first-of-type { font-size: 1.4rem; max-width: 18ch; }
  .balansiki-portrait-placeholder p:last-child { font-size: 11px; margin-top: 9px; }
  .balansiki-about h2 { font-size: 2rem; max-width: 18ch; }
  .balansiki-about .wp-block-buttons { margin-top: 19px; }
  .balansiki-about > .wp-block-columns > .wp-block-column:first-child > .wp-block-image { max-width: 310px; }
  .balansiki-process { padding-top: 30px; padding-bottom: 34px; }
  .balansiki-process-grid { gap: 27px !important; }
  .balansiki-process-grid > .wp-block-column { display: block; text-align: center; }
  .balansiki-process figure { width: 235px; height: 126px; margin: 0 auto 12px; }
  .balansiki-process h3 { font-size: 1.5rem; margin-bottom: 7px !important; }
  .balansiki-process p { font-size: 14px; max-width: 34ch; margin-inline: auto; }
  .balansiki-faq { padding-top: 32px; padding-bottom: 34px; }
  .balansiki-contact-band { margin-top: 0; }
}
@media (max-width:370px) {
  .balansiki-hero h1 { font-size: 2.28rem; letter-spacing: -.035em; }
  .balansiki-hero-copy::before { width: 23px; right: 0; }
  .balansiki-process figure { width: 220px; height: 118px; }
}
@media (prefers-reduced-motion:reduce) {
  .balansiki-lotus-bloom, .balansiki-breath .is-breathing .balansiki-lotus-bloom { animation: none !important; transform: none !important; opacity: 1; }
  .balansiki-offer-card { transition: none; }
}
