/* v51: give the app its proper scale; compose Contact motion around the person. */
.home-story--goodnight-jar .story-inner{row-gap:18px}
.home-story--goodnight-jar .story-phone{grid-column:1;grid-row:1/3;padding:8px 0}
.home-story--goodnight-jar .story-phone .product-device{width:222px;max-width:100%}
.home-story--goodnight-jar .story-copy{grid-column:2;grid-row:1;align-self:end}
.home-story--goodnight-jar .story-pricing{grid-column:2;grid-row:2;align-self:start;margin:0}
.contact-hello{padding:44px 0;background:#F4E7D7}
.contact-hello .connect-intro{max-width:1160px;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:64px}
.contact-hello .connect-visual{display:flex;flex-direction:column;align-items:center;gap:8px;justify-self:center;width:min(100%,390px);min-width:0}
.contact-hello .connect-portrait{--portrait-ready:1;position:relative;isolation:isolate;display:grid;place-items:center;width:100%;max-width:none;aspect-ratio:500/650;padding:0;margin:0;overflow:visible}
.contact-hello .connect-portrait img{position:relative;z-index:1;display:block;width:72%;height:auto;max-height:none;object-fit:contain;border-radius:22px;box-shadow:0 18px 38px -28px #75604688}
.contact-hello .portrait-scene{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.contact-hello .portrait-scene[hidden]{display:none!important}
.contact-hello .portrait-art{position:absolute;inset:0;width:100%;height:100%;opacity:1;overflow:visible}
.portrait-art path,.portrait-art ellipse{vector-effect:non-scaling-stroke}
.portrait-art .portrait-flow,.portrait-art .portrait-flow-late{opacity:.64}
.portrait-motion{transform-box:view-box;transform-origin:250px 325px;animation-play-state:paused}
.portrait-flow{animation:portraitBreathe 10s ease-in-out infinite;animation-play-state:paused}
.portrait-flow-late{animation:portraitBreathe 13s -5s ease-in-out infinite reverse;animation-play-state:paused}
.portrait-leaves{transform-origin:72px 600px;animation:portraitLeaves 11s -3s ease-in-out infinite;animation-play-state:paused}
.portrait-light{animation:portraitWarmth 14s ease-in-out infinite;animation-play-state:paused}
.contact-hello[data-motion-state="running"]:not([data-motion-suspended]) .portrait-motion{animation-play-state:running}
.contact-hello[data-motion-suspended] .portrait-motion,.contact-hello[data-motion-active="false"] .portrait-motion,
html[data-motion-mode="paused"] .portrait-motion,html[data-motion-mode="idle"] .portrait-motion{animation-play-state:paused!important}
@keyframes portraitBreathe{0%,100%{transform:translate(-2px,2px) rotate(-.5deg)}50%{transform:translate(2px,-2px) rotate(.5deg)}}
@keyframes portraitLeaves{0%,100%{transform:rotate(-1.7deg)}50%{transform:rotate(1.7deg)}}
@keyframes portraitWarmth{0%,100%{opacity:.65;transform:translateY(3px) scale(.97)}50%{opacity:1;transform:translateY(-3px) scale(1.03)}}
@media(min-width:621px) and (max-width:960px){
 .contact-hello .connect-intro{grid-template-columns:1fr 1fr;gap:32px}
 .home-story--goodnight-jar .story-phone .product-device{width:208px}
}
@media(max-width:620px){
 .home-story--goodnight-jar .story-inner{grid-template-columns:minmax(0,1fr) clamp(136px,39vw,180px);gap:14px 22px}
 .home-story--goodnight-jar .story-copy{display:contents}
 .home-story--goodnight-jar .story-copy>.eyebrow{grid-column:1/-1;grid-row:1;margin:0}
 .home-story--goodnight-jar .story-copy>h2{grid-column:1/-1;grid-row:2;max-width:22ch;margin:0 0 4px;font-size:clamp(1.75rem,7.6vw,2.1rem)}
 .home-story--goodnight-jar .story-summary{grid-column:1;grid-row:3;align-self:end;margin:0}
 .home-story--goodnight-jar .story-link{grid-column:1;grid-row:4;align-self:start;justify-self:start}
 .home-story--goodnight-jar .story-phone{grid-column:2;grid-row:3/5;padding:0}
 .home-story--goodnight-jar .story-phone .product-device{width:100%;max-width:180px;padding:4px}
 .home-story--goodnight-jar .story-pricing{grid-column:1/-1;grid-row:5;margin:6px 0 0}
 .contact-hello{padding:30px 0 34px}
 .contact-hello .connect-intro{grid-template-columns:minmax(0,1fr) clamp(128px,42vw,184px);gap:0 20px;align-items:center}
 .contact-hello .hero-copy{display:contents}
 .contact-hello .hero-copy .eyebrow{grid-column:1;grid-row:1;align-self:end;max-width:22ch;margin:0 0 12px}
 .contact-hello .hero-copy h1{grid-column:1;grid-row:2;align-self:start;font-size:clamp(1.75rem,7.2vw,2.3rem);margin:0;line-height:1.16}
 .contact-hello .connect-visual{grid-column:2;grid-row:1/3;width:100%;gap:5px}
 .contact-hello .hero-copy .lede{grid-column:1/-1;grid-row:3;max-width:none;margin:22px 0 0;font-size:.96rem;line-height:1.7}
 .contact-hello .hero-copy .btn-row{grid-column:1/-1;grid-row:4;margin:20px 0 0}
 .contact-hello .connect-portrait img{border-radius:14px}
}
@media(max-width:350px){
 .home-story--goodnight-jar .story-inner{grid-template-columns:minmax(0,1fr) 128px;gap:12px 16px}
 .home-story--goodnight-jar .story-copy>h2{font-size:1.7rem}
 .contact-hello .connect-intro{gap:0 16px}
 .contact-hello .hero-copy h1{font-size:1.65rem}
 .contact-hello .hero-copy .lede{font-size:.91rem}
}
@media(prefers-reduced-motion:reduce){
 .contact-hello .portrait-motion{animation:none!important;transform:none!important}
}
