.hero__visual{display:block;width:min(100%,1000px);height:auto;inset:0 auto auto 0;background:none;color:inherit;clip-path:none}
.hero__visual>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0 300px 300px 0}
.hero__copy img{height:auto}
.site-logo{display:flex;align-items:center}
.site-logo>img{display:block;width:180px;height:auto}
.loading-screen{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;background:#fff;opacity:1;visibility:visible;transition:opacity .7s ease,visibility .7s ease}
.loading-screen img{width:clamp(150px,22vw,240px);height:auto;opacity:0;transform:translateY(8px);transition:opacity .65s ease,transform .65s ease}
.loading-screen.is-logo-visible img{opacity:1;transform:none}
.loading-screen.is-logo-hidden img{opacity:0;transform:translateY(-8px)}
.loading-screen.is-screen-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-seen .loading-screen{display:none}
body.is-loading{overflow:hidden}
.flower-photo,.portrait-photo{display:block;width:100%;height:auto;border-radius:50%}
.about-studio__content{display:grid;grid-template-columns:minmax(0,420px) 280px;justify-content:center;align-items:center;gap:110px}
.about-studio__body{min-width:0;overflow-wrap:anywhere;line-break:strict}
.text-link{font-size:16px;line-height:1.4}
.text-link{transition:color .32s ease,border-color .32s ease}
.text-link span{display:inline-block;width:25px;height:25px;margin-left:.35em;overflow:hidden;background:currentColor;font-size:0;line-height:0;-webkit-mask:url('../../images/arrow.svg') center/25px 25px no-repeat;mask:url('../../images/arrow.svg') center/25px 25px no-repeat;transition:transform .32s ease,color .32s ease}
.text-link:hover,.text-link:focus-visible{color:var(--cs-color-coral);border-bottom-color:var(--cs-color-coral)}
.text-link:hover span,.text-link:focus-visible span{color:var(--cs-color-coral);transform:translateX(7px)}
.journal-list a{display:block;width:25px;height:25px;overflow:hidden;background:currentColor;color:var(--cs-color-mint);font-size:0;line-height:0;-webkit-mask:url('../../images/arrow.svg') center/25px 25px no-repeat;mask:url('../../images/arrow.svg') center/25px 25px no-repeat;transition:color .32s ease,transform .32s ease}
.journal-list a:hover,.journal-list a:focus-visible{color:var(--cs-color-coral);transform:translateX(7px)}
.motion-ready .scroll-reveal{opacity:0;transform:translateY(34px);transition:opacity 1.05s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.motion-ready .scroll-reveal.is-visible{opacity:1;transform:none}
.motion-ready .hero__visual,.motion-ready .hero__copy{opacity:0;transform:translateY(22px);transition:opacity 1.15s cubic-bezier(.22,1,.36,1),transform 1.15s cubic-bezier(.22,1,.36,1)}
.motion-ready .hero__copy{transition-delay:.18s}
.motion-ready .hero.is-visible .hero__visual,.motion-ready .hero.is-visible .hero__copy{opacity:1;transform:none}
.service .service-grid article::before{content:none}
.service .service-grid article{padding:0 0 26px;overflow:hidden}
.service .service-grid article>img{width:100%;height:auto;aspect-ratio:385/160;object-fit:cover;margin-bottom:24px}
.service .service-grid article>h3,.service .service-grid article>p{padding-inline:28px}
.service .service-grid article>p{margin-bottom:0}
@media(max-width:767px){.site-logo>img{width:118px}}
@media(prefers-reduced-motion:reduce){.loading-screen{display:none}.loading-screen img,.text-link,.text-link span{transition:none}.motion-ready .scroll-reveal,.motion-ready .hero__visual,.motion-ready .hero__copy{opacity:1;transform:none;transition:none}}
@media(min-width:768px){.hero{min-height:600px}.hero__visual{position:relative;width:90%;height:600px;max-width:none}.hero__copy{right:clamp(40px,7vw,140px);left:auto;bottom:100px}.hero__copy img{width:min(500px,38vw)}.flower-photo{width:280px}.portrait-photo{width:340px}}
@media(max-width:767px){.hero{min-height:420px}.hero__visual{width:345px}.hero__visual>img{height:auto;object-fit:contain;border-radius:0}.hero__copy{left:68px;right:auto;bottom:110px}.hero__copy img{width:270px}.about-studio__content{grid-template-columns:1fr;grid-template-areas:"photo" "body";gap:35px}.flower-photo{grid-area:photo;width:200px;margin:0 auto}.about-studio__body{grid-area:body}.about-me__grid{grid-template-columns:1fr}.portrait-photo{width:220px;margin:0 auto}.service .service-grid article{min-height:0;padding:0 0 22px}.service .service-grid article>img{margin-bottom:18px}}

/* Body copy scale: shared across PC and mobile */
.about-studio__body,
.reason-grid p,
.reason-note,
.service-grid p,
.flow-grid p,
.about-me__grid p{font-size:16px;line-height:1.9}

/* Contact CTA: filled at rest, outlined on hover/focus */
.contact-links a{
  border:1px solid var(--cs-color-coral);
  color:#fff;
  transition:background-color .35s ease,color .35s ease,border-color .35s ease,transform .35s ease;
}
.contact-links a+a{border:1px solid var(--cs-color-mint)}
.contact-links a:hover,
.contact-links a:focus-visible{
  background:transparent;
  color:var(--cs-color-coral);
  transform:translateY(-3px);
}
.contact-links a+a:hover,
.contact-links a+a:focus-visible{
  background:transparent;
  color:var(--cs-color-mint);
}
.contact-links a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.contact-links a{transition:none}.contact-links a:hover,.contact-links a:focus-visible{transform:none}}

/* Flow connectors */
.flow .cs-container{max-width:1240px}
.flow .flow-grid li:not(:last-child)::after{
  content:"";
  position:absolute;
  top:6px;
  right:-24px;
  display:block;
  width:25px;
  height:25px;
  background:var(--cs-color-mint);
  -webkit-mask:url('../../images/arrow.svg') center/25px 25px no-repeat;
  mask:url('../../images/arrow.svg') center/25px 25px no-repeat;
}
@media(max-width:767px){
  .flow .flow-grid li:not(:last-child)::after{
    top:auto;
    right:auto;
    bottom:-32px;
    left:50%;
    transform:translateX(-50%) rotate(90deg);
  }
}
