/* Brush UP: service scenes, tactile details, and a connected first visit. */
.hero-stage{position:absolute;inset:0;overflow:hidden;animation:sceneCurtain 1.65s cubic-bezier(.17,.68,.19,1) both}
.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:42% 50%;opacity:0;transform:scale(1.045);filter:saturate(.75);transition:opacity .85s ease,transform 1.5s cubic-bezier(.2,.65,.2,1);will-change:opacity}
.hero-scene.is-active{opacity:1;transform:scale(1)}
.hero-scene[data-scene-image=care]{object-position:38% 50%}
.hero-scene[data-scene-image=cook]{object-position:38% 55%}
.hero-experience .hero-wash{background:linear-gradient(90deg,#50273821 0%,#50273830 30%,#50273899 53%,#502738e3 100%),linear-gradient(0deg,#502738f2,transparent 40%,transparent 70%,#502738bb)}
.hero-experience .hero-content{margin-left:50%;width:50%;padding-top:clamp(165px,19vh,250px);padding-left:3vw}
.hero-experience h1{font-size:clamp(42px,4.7vw,72px);line-height:1.5;letter-spacing:.11em}
.hero-experience h1 em{position:relative}
.hero-experience h1 em:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:7px;border-top:1px solid #f0c1d3;transform:rotate(-4deg) scaleX(0);transform-origin:left;animation:brushUnderline 1s 1.5s forwards}
.hero-experience .hero-lead{font-size:12px;line-height:2;letter-spacing:.065em}
.hero-experience .hero-actions{gap:20px}
.hero-experience .hero-actions .btn{padding-left:22px;padding-right:22px;font-size:11px;gap:20px}
.hero-horizon{position:absolute;left:4.2vw;right:4.2vw;bottom:72px;height:1px;background:linear-gradient(90deg,#f3ccdb88,#f3ccdb11);transform-origin:left;animation:brushUnderline 1.8s 1.1s both}
.hero-chooser{position:absolute;bottom:114px;left:6vw;width:37%;max-width:480px;z-index:3;animation-delay:1.1s}
.scene-description{display:flex;align-items:center;gap:18px;margin-bottom:17px;font:13px var(--serif);letter-spacing:.05em;line-height:1.7;min-height:24px}
#scene-number{font:10px var(--latin);color:var(--gold);letter-spacing:.15em;white-space:nowrap}
.scene-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.scene-choice{position:relative;display:flex;align-items:center;gap:11px;padding:9px;text-align:left;min-width:0;color:var(--cream);border:1px solid #eeb7cc70;border-radius:2px 13px 2px 13px;background:linear-gradient(120deg,#fbecf222,#50273899);backdrop-filter:blur(9px);box-shadow:0 4px 0 #20101655,inset 0 1px 0 #ffffff15;transition:background .35s,border-color .35s,box-shadow .35s}
.scene-choice[aria-pressed=true]{background:linear-gradient(130deg,#f2c9d9ed,#d28ba6f0);border-color:#f6d7e3;color:var(--deep);box-shadow:0 4px 0 #20101670,0 0 25px #f0bed125,inset 0 1px 0 #fdf5f899}
.scene-thumb{display:block;width:42px;height:51px;flex-shrink:0;overflow:hidden;border-radius:2px}
.scene-thumb img{filter:saturate(.7);transition:transform .6s}
.scene-choice:hover .scene-thumb img{transform:scale(1.15)}
.scene-choice small{font:12px var(--latin);line-height:1;display:block;opacity:.75}
.scene-choice b{font:17px/1.7 var(--serif);white-space:nowrap;font-weight:400}
.scene-tick{font-size:13px;position:absolute;right:7px;top:5px;opacity:.65}
.scene-instruction{font-size:9px;letter-spacing:.09em;margin-top:12px;color:#f3cada}
/* The same press/release treatment reaches navigation, FAQs and small controls. */
a.control-watch,button.control-watch,summary.control-watch,.check-item.control-watch{position:relative;transition:translate .23s var(--ease),scale .23s var(--ease),box-shadow .23s,background .3s}
.desktop-nav a,.footer-links a,.breadcrumb,.footer-bottom .text-button{display:inline-block}
.control-arrived{animation:controlEnter .65s var(--control-delay,0ms) both}
.control-watch.is-pressing,.control-watch:active{translate:0 3px;scale:.975;box-shadow:inset 0 3px 8px #351a2433,0 1px 0 #fae9ef35}
.btn.control-watch.is-pressing,.btn.control-watch:active{transform:none;translate:0 5px;box-shadow:0 1px 0 #00000033,inset 0 3px 7px #00000033}
.lesson-card.control-watch.is-pressing{transform:none;translate:0 4px;scale:.985}
.scene-choice.is-pressing{box-shadow:inset 0 4px 8px #351a2466,0 1px 0 #20101655}
.brand.is-pressing{box-shadow:none;scale:.96}
.intro-visual.is-visible>img,.person.is-visible .person-photo>img,.access-image.is-visible>img,.visit-frame.is-visible img{animation:photoUnfold 1.25s cubic-bezier(.19,.68,.2,1) both}
.reveal.is-visible h2{animation:titleUnfold 1.1s cubic-bezier(.19,.68,.2,1) both}
.lesson-card.is-visible:nth-child(2){transition-delay:.09s}.lesson-card.is-visible:nth-child(3){transition-delay:.18s}
/* A personal card replaces an abstract recommendation. */
.moment-meter{display:flex;justify-content:center;align-items:center;gap:9px;margin:13px 0 9px}
.moment-meter i{display:block;width:20px;height:3px;background:#dfadc02e;transition:background .5s,box-shadow .5s}
.moment-meter i.is-lit{background:#f0c1d3;box-shadow:0 0 12px #f1c4d599}
.check-result{overflow:hidden;padding-top:24px}
.result-photo{height:152px;position:relative;margin:-24px -27px 22px;overflow:hidden;background:#472331}
.result-photo img{filter:saturate(.65);object-position:center 45%;animation:photoUnfold .6s ease-out both}
.result-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#3e1f2baa,transparent 65%)}
.result-photo>span{position:absolute;bottom:14px;left:24px;font-size:8px;letter-spacing:.2em;z-index:1;color:#f8e0e9}
.result-links{gap:9px 20px;margin-top:16px}
.result-links .quiet-link{border-bottom-color:#dfacc080}
.result-booking{flex-basis:100%;width:100%;margin-top:14px;font-size:11px;gap:12px;min-height:50px}
.complete-note{display:flex;align-items:center;gap:10px;margin-top:20px;padding:12px 0;border-top:1px solid #edb3ca50;border-bottom:1px solid #edb3ca50;color:#f4d1de;font:14px var(--serif);animation:completionCard .85s var(--ease) both}
.complete-note .flower-mark{width:29px;height:29px;stroke-width:.8}
.check-result.complete{background:linear-gradient(135deg,#d189a550,#d697af10);box-shadow:0 0 50px #edb1c826}
.completion-halo{position:fixed;left:50%;top:48%;width:80px;height:80px;border-radius:50%;border:1px solid #f2c9d9;box-shadow:0 0 25px #f5d3e06e,inset 0 0 20px #f7dee76e;transform:translate(-50%,-50%);animation:completionHalo 2.3s cubic-bezier(.15,.5,.2,1) forwards;pointer-events:none;z-index:210}
.completion-halo:before,.completion-halo:after{content:"";position:absolute;inset:13%;border:1px solid #f2c9d980;border-radius:50%}.completion-halo:after{inset:-18%;border-style:dashed;opacity:.4}
.inherited-wishes{padding:19px 18px;background:linear-gradient(135deg,#f6dae588,#f3cada33);border:1px solid #d593ac;box-shadow:inset 0 1px 0 #fff4f8;margin:22px 0 25px}
.inherited-wishes .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:10px}
.inherited-wishes ul{padding-left:17px;margin:0 0 14px;font-size:10px;line-height:1.9}
.inherited-wishes li+li{margin-top:5px}
.inherited-wishes .text-button{font-size:9px}
/* The first visit is shown as a sequence of real places. */
.first-visit{padding-top:5px;padding-bottom:90px}
.visit-frames{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.visit-frame{position:relative}
.visit-photo{position:relative;height:240px;overflow:hidden;border-radius:2px 35px 2px 2px}
.visit-photo img{filter:saturate(.7)}
.visit-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#3b1d2977,transparent 65%)}
.visit-photo>span{position:absolute;left:20px;bottom:9px;color:#f6dae5;font:50px var(--latin);z-index:1}
.visit-frame h3{font-size:21px;letter-spacing:.06em;line-height:1.65;margin-top:22px}
.visit-frame p{font-size:11px;line-height:1.9;margin-top:12px;color:#755363}
.visit-frame:not(:last-child):after{content:"→";position:absolute;top:112px;right:-22px;font:16px var(--serif);color:#a4617e}
@keyframes sceneCurtain{0%{clip-path:inset(0 100% 0 0);transform:scale(1.06)}100%{clip-path:inset(0);transform:scale(1)}}
@keyframes brushUnderline{to{transform:rotate(-4deg) scaleX(1)}}
@keyframes controlEnter{from{opacity:0;translate:0 13px}to{opacity:1;translate:0 0}}
@keyframes photoUnfold{from{clip-path:inset(12% 0 0 100%);transform:scale(1.08)}to{clip-path:inset(0);transform:scale(1)}}
@keyframes titleUnfold{from{clip-path:inset(0 100% 0 0);filter:blur(3px)}to{clip-path:inset(0);filter:blur(0)}}
@keyframes completionCard{from{opacity:0;translate:0 10px;filter:blur(4px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes completionHalo{0%{opacity:0}15%{opacity:1}100%{opacity:0;width:110vmax;height:110vmax}}
@media(max-width:1180px){.hero-experience .hero-content{margin-left:48%;width:52%;padding-left:3vw}.hero-chooser{left:5vw;width:38%}.scene-choice{gap:7px;padding:8px}.scene-thumb{width:35px;height:44px}.scene-choice b{font-size:16px}.hero-experience .hero-actions{gap:15px}.hero-experience .hero-actions .btn{padding-left:16px;padding-right:16px;font-size:10px;gap:13px}.hero-experience .hero-actions .quiet-link{font-size:10px;gap:11px}.visit-frame h3{font-size:19px}.visit-photo{height:210px}}
@media(max-width:960px){.hero-experience .hero-content{margin-left:47%;width:53%;padding-top:185px}.hero-experience h1{font-size:49px}.hero-chooser{left:5vw;width:37%;bottom:120px}.scene-choices{gap:7px}.scene-choice{display:block;padding:7px;text-align:center}.scene-thumb{height:40px;width:100%;margin-bottom:7px}.scene-choice>span:nth-child(2){display:flex;align-items:center;justify-content:center;gap:5px}.scene-choice small{font-size:9px}.scene-choice b{font-size:14px}.scene-tick{display:none}.scene-description{font-size:11px;gap:10px;display:block}.scene-description>span{display:block}.scene-description #scene-number{margin-bottom:6px}.scene-instruction{font-size:8px;letter-spacing:0}.hero-experience .hero-lead{font-size:11px}.hero-experience .hero-actions{align-items:flex-start}.result-photo{margin-left:-22px;margin-right:-22px}.visit-frames{gap:20px}.visit-frame h3{font-size:17px}.visit-frame p{font-size:10px}.visit-photo{height:175px}.visit-frame:not(:last-child):after{right:-16px;top:80px}.first-visit{padding-bottom:70px}}
@media(max-width:680px){.hero-experience{min-height:790px;max-height:1000px}.hero-stage{height:100%}.hero-scene{height:100%;object-position:37% center}.hero-scene[data-scene-image=care]{object-position:34% center}.hero-scene[data-scene-image=cook]{object-position:45% center}.hero-experience .hero-wash{background:linear-gradient(0deg,#3b1d28fa 0%,#3c1e2ae3 25%,#3b1d2999 49%,#3b1d291f 73%,#502738bb 100%)}.hero-experience .hero-content{position:absolute;bottom:257px;top:auto;left:0;margin:0;padding:0 27px;width:100%}.hero-experience h1{font-size:clamp(35px,9.5vw,45px);line-height:1.45;letter-spacing:.105em}.hero-experience h1 em:after{bottom:-4px;height:5px}.hero-experience .hero-lead{font-size:10px;line-height:1.95;letter-spacing:.015em;margin-top:17px}.hero-experience .hero-actions{display:flex;flex-direction:row;gap:16px;align-items:center;margin-top:20px}.hero-experience .hero-actions .btn{padding:13px 15px;font-size:10px;gap:12px;min-height:50px}.hero-experience .hero-actions .quiet-link{font-size:9px;gap:8px}.hero-experience .hero-actions .quiet-link svg{width:15px}.hero-experience .eyebrow{font-size:7px;letter-spacing:.15em;margin-bottom:15px}.hero-chooser{bottom:92px;left:26px;right:26px;width:auto;max-width:none}.scene-description{display:flex;align-items:center;font-size:11px;gap:13px;min-height:20px;margin-bottom:13px}.scene-description>span{display:inline}.scene-description #scene-number{margin:0;font-size:9px}.scene-choices{gap:9px}.scene-choice{display:flex;gap:7px;padding:7px;text-align:left}.scene-thumb{width:32px;height:45px;margin:0}.scene-choice>span:nth-child(2){display:block}.scene-choice small{font-size:10px}.scene-choice b{font-size:15px}.scene-instruction{font-size:8px;letter-spacing:.03em;margin-top:10px}.hero-horizon{left:26px;right:26px;bottom:65px}.hero-experience .hero-footer{bottom:28px}.moment-meter{margin:15px 0 6px;gap:7px}.moment-meter i{width:17px}.result-photo{height:140px;margin-top:-24px;margin-bottom:21px}.result-links{gap:10px 17px}.result-links .quiet-link{font-size:10px}.result-booking{font-size:10px;min-height:48px;padding:13px 16px;margin-top:12px}.complete-note{font-size:12px;gap:8px;margin-top:18px}.complete-note .flower-mark{width:24px;height:24px}.first-visit{padding-top:0;padding-bottom:60px}.visit-frames{display:flex;flex-direction:column;gap:22px}.visit-frame{display:grid;grid-template-columns:118px 1fr;column-gap:18px;border-top:1px solid var(--line);padding-top:22px;align-items:start}.visit-photo{grid-row:span 2;height:135px;border-radius:2px 22px 2px 2px}.visit-photo>span{font-size:33px;left:10px;bottom:4px}.visit-frame h3{font-size:17px;margin-top:7px;line-height:1.6;letter-spacing:.02em}.visit-frame p{font-size:10px;margin-top:9px;line-height:1.9}.visit-frame p br{display:none}.visit-frame:not(:last-child):after{display:none}.inherited-wishes{padding:17px 15px}.inherited-wishes ul{font-size:10px}}
@media(max-width:360px){.hero-experience .hero-content{padding:0 22px}.hero-experience .hero-actions{gap:11px}.hero-experience .hero-actions .btn{font-size:9px;padding:13px 12px;gap:8px}.hero-experience .hero-actions .quiet-link{font-size:9px;gap:6px}.hero-chooser{left:22px;right:22px}.scene-description{font-size:10px;gap:9px}.scene-choice{padding:6px;gap:6px}.scene-thumb{width:27px;height:42px}.scene-choice b{font-size:14px}.visit-frame{grid-template-columns:103px 1fr;column-gap:15px}.visit-frame h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){.hero-stage{clip-path:none;transform:none}.hero-scene{transform:none;transition:none}.hero-experience h1 em:after{transform:rotate(-4deg) scaleX(1)}.control-arrived{opacity:1;translate:0 0}.completion-halo{display:none}.is-pressing{scale:1!important;translate:0 0!important}.reveal.is-visible h2{filter:none;clip-path:none}}

.control-arrived.control-finished{animation:none}
.control-watch.is-pressing{translate:0 3px!important;scale:.975!important}
.page-curtain{position:fixed;inset:0;z-index:250;pointer-events:none;background:linear-gradient(145deg,#572b3c,#341a24);translate:0 103%;transition:translate .26s cubic-bezier(.65,0,.35,1);display:grid;place-items:center;border-top:1px solid #eeb5cb}
.page-curtain .flower-mark{width:130px;height:130px;stroke:#ebabc3;stroke-width:.5;opacity:.5}
.route-leaving .page-curtain{translate:0 0}
@media(prefers-reduced-motion:reduce){.control-watch.is-pressing{translate:0 0!important;scale:1!important}.page-curtain{display:none}}
