/* Readable content and a quiet botanical rhythm share the same visual hierarchy. */
:root{--lani-reading-ink:#5b5147;--lani-secondary-ink:#756857}
#about .about-bio-lead{max-width:38rem!important}
#about .about-bio-lead .bio-paragraph{font-size:15px!important;line-height:2.08!important;letter-spacing:.025em!important;font-weight:400!important;color:var(--lani-reading-ink)!important}
#about .booking-name-note{font-size:12px!important;line-height:1.95!important;color:var(--lani-secondary-ink)!important}
#voice .review-card .voice-quote{font-size:15px!important;line-height:2.05!important;letter-spacing:.025em!important;max-width:32rem!important;color:var(--lani-reading-ink)!important}
#voice .review-card .badge-age,#voice .review-card .badge-status{font-size:12px!important;line-height:1.9!important;color:var(--lani-secondary-ink)!important}
#voice .review-card .voice-author,#voice .review-card .voice-author-sub{font-size:12px!important;line-height:1.9!important;max-width:32rem!important;color:var(--lani-secondary-ink)!important}
#voice .review-card{padding-top:34px;padding-bottom:30px}
#menu .menu-desc,#menu .option-card-item .menu-desc,#menu .hm-split-content .hm-lux-lead{font-size:14px!important;line-height:2.05!important;letter-spacing:.02em!important;color:var(--lani-reading-ink)!important;font-weight:400!important;word-break:normal!important;line-break:strict!important;text-wrap:pretty}
#menu .menu-desc .nobreak{display:inline!important;white-space:normal!important}
#menu .hm-split-content .hm-lux-desc{font-size:12px!important;line-height:1.95!important;color:var(--lani-secondary-ink)!important}
#menu .menu-card .course-note{font-size:12px!important;line-height:1.9!important;color:var(--lani-secondary-ink)!important}
#menu .hair-occasion-note{font-size:12px!important;line-height:1.95!important;color:var(--lani-secondary-ink)!important}
#faq .service-faq-question{font-size:16px;line-height:1.9}
#faq .service-faq-answer{font-size:14.5px;line-height:2.05;color:var(--lani-reading-ink)}
#access .access-facts dt{font-size:12px;color:var(--lani-secondary-ink)}
#access .access-facts dd{font-size:15px;line-height:2.05;color:var(--lani-reading-ink)}
#access .access-note,#access .access-other-note{font-size:12px;color:var(--lani-secondary-ink)}
#access .route-step .step-text{font-size:15px!important;line-height:2!important}
.btn-menu-reserve,.btn-primary-gold-reserve{min-height:48px}
/* Text remains still while visitors read it. Only headings and short concept copy enter. */
#about .about-bio-lead .bio-paragraph.fork-entered{animation:none!important;opacity:1!important;transform:none!important}
@keyframes lani-heading-breathe{from{opacity:.08;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* The anchor owns placement; its child owns the slow sway. No photo overlay or layout movement. */
.lani-olive-anchor{position:absolute;display:block;width:210px;aspect-ratio:240/420;pointer-events:none;opacity:.21;transform:rotate(-8deg)}
.lani-olive-branch{display:block;width:100%;height:100%;background:url('images/lani-olive-branch.svg') center/contain no-repeat;transform-origin:45% 92%;animation:lani-olive-sway 18s ease-in-out infinite!important;animation-play-state:paused!important}
#concept .lani-olive-anchor{right:-23px;top:8%;width:205px;opacity:.22;transform:rotate(-8deg)}
#concept .lani-olive-anchor:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#faf8f300,#faf8f310);pointer-events:none}
#about .lani-olive-anchor{left:-73px;top:7%;width:220px;opacity:.21;transform:rotate(20deg)}
#reserve .lani-olive-anchor{right:-57px;top:8%;width:230px;opacity:.24;transform:rotate(-13deg)}
.lani-drifting-leaf{position:absolute;display:block;width:26px;height:70px;background:url('images/lani-olive-leaf.svg') center/contain no-repeat;right:5%;top:18%;opacity:0;pointer-events:none;transform-origin:center;animation:lani-leaf-drift 22s linear infinite!important;animation-play-state:paused!important}
#concept.fork-light-running .lani-olive-branch,#concept.fork-light-running .lani-drifting-leaf,.fork-air-running .lani-olive-branch{animation-play-state:running!important}
@keyframes lani-olive-sway{0%,100%{transform:rotate(-1.6deg) translateY(0)}50%{transform:rotate(1.9deg) translateY(-3px)}}
@keyframes lani-leaf-drift{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(-14deg)}7%{opacity:.25}34%{opacity:.2;transform:translate3d(-14px,68px,0) rotate(24deg)}58%{opacity:0;transform:translate3d(-34px,150px,0) rotate(66deg)}100%{opacity:0;transform:translate3d(-34px,150px,0) rotate(66deg)}}
@media(max-width:1023px){#concept .lani-olive-anchor{right:-72px;width:190px;opacity:.17}#about .lani-olive-anchor{left:-101px;width:210px;opacity:.17}#reserve .lani-olive-anchor{right:-94px;width:210px;opacity:.2}.lani-drifting-leaf{right:1%;width:22px;height:60px}}
@media(max-width:640px){#about .about-bio-lead .bio-paragraph{font-size:15px!important;line-height:2.08!important;letter-spacing:.02em!important;margin-bottom:23px!important}#about .booking-name-note{font-size:11.5px!important;line-height:1.95!important}#voice .review-card .voice-quote{font-size:15px!important;line-height:2.05!important;letter-spacing:.02em!important}#voice .review-card .voice-author,#voice .review-card .voice-author-sub{font-size:11.5px!important}#voice .review-card{padding-top:30px;padding-bottom:28px}#voice .review-card .badge-age,#voice .review-card .badge-status{font-size:12px!important}#menu .menu-desc,#menu .option-card-item .menu-desc,#menu .hm-split-content .hm-lux-lead{font-size:14px!important;line-height:2.05!important}#menu .menu-card .course-note{font-size:11.5px!important}#menu .hair-occasion-note{font-size:11.5px!important}#faq .service-faq-question{font-size:15px;line-height:1.9}#faq .service-faq-answer{font-size:14px;line-height:2.05;padding-left:31px;padding-right:8px}#access .access-facts dt{font-size:11.5px}#access .access-facts dd{font-size:14px}#access .access-note,#access .access-other-note{font-size:11.5px}#access .route-step .step-text{font-size:14px!important}#concept .lani-olive-anchor{width:165px;right:-105px;top:14%;opacity:.14}#about .lani-olive-anchor{width:180px;left:-125px;top:7%;opacity:.13}#reserve .lani-olive-anchor{width:185px;right:-120px;top:8%;opacity:.16}.lani-drifting-leaf{right:-8px;top:12%;width:19px;height:52px}}
.fork-motion-off .lani-olive-branch{animation:none!important;transform:none!important}
.fork-motion-off .lani-drifting-leaf{animation:none!important;opacity:0!important}
.fork-motion-off .section-title-wrap.fork-entered{animation:none!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.lani-olive-branch{animation:none!important;transform:none!important}.lani-drifting-leaf{animation:none!important;opacity:0!important}.section-title-wrap.fork-entered{animation:none!important;opacity:1!important;transform:none!important}}
/* Animate an inner text stage so legacy visibility overrides cannot suppress the entrance. */
.section-title-wrap.fork-entered{animation:none!important}
.lani-heading-ink{display:block;text-wrap:balance;opacity:1}
.section-title-wrap.fork-entered .lani-heading-ink{animation:lani-heading-breathe .85s cubic-bezier(.2,.7,.25,1) both!important;animation-delay:var(--fork-delay,0ms)!important}
.hero-section.lani-hero-started .hero-catch,.hero-section.lani-hero-started .fork-hero-guide{animation:none!important;opacity:1!important}
.hero-section .lani-copy-ink{display:block;opacity:1}
.hero-section.lani-hero-started .hero-catch .lani-copy-ink{animation:lani-copy-arrive .7s cubic-bezier(.2,.7,.25,1) .35s both!important}
.hero-section.lani-hero-started .fork-hero-guide .lani-copy-ink{animation:lani-copy-arrive .65s cubic-bezier(.2,.7,.25,1) .52s both!important}
.fork-motion-off .section-title-wrap.fork-entered .lani-heading-ink,.fork-motion-off .hero-section.lani-hero-started .lani-copy-ink{animation:none!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.section-title-wrap.fork-entered .lani-heading-ink,.hero-section.lani-hero-started .hero-catch .lani-copy-ink,.hero-section.lani-hero-started .fork-hero-guide .lani-copy-ink{animation:none!important;opacity:1!important;transform:none!important}}
