.focus-page{--garden-gold:#ac8538;--garden-serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}
.garden-intro{margin:20px auto 0;padding:38px 30px 24px;border:1px solid #cdd7ca;border-radius:24px;background:radial-gradient(ellipse at 90% 0%,#e6d7af55,transparent 55%),#fcfcf7;text-align:center;max-width:960px;overflow:hidden}
.garden-kicker{font-size:10px;letter-spacing:.2em;font-weight:700;color:#8e552f;margin:0 0 18px}
.garden-intro h2{margin:0;font-size:clamp(28px,4vw,48px);font-weight:900;line-height:1.5;letter-spacing:-.045em}
.garden-intro h2>span{display:block}.garden-intro h2 .garden-serif{font-family:var(--garden-serif);font-size:.79em;font-weight:800;letter-spacing:-.03em}
.garden-gold{color:#99722d;background:linear-gradient(110deg,#8f6e29,#bd9340,#90702f,#c7a963);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:garden-gold-flow 7s ease-in-out infinite alternate}
.garden-intro .whole-plan-flow{max-width:680px;margin:28px auto 24px}.garden-intro .whole-plan-item{background:#fff0dd;border-radius:50%;padding:16px 8px}.garden-intro .whole-plan-item svg{height:70px}.garden-intro .whole-plan-item strong{font-size:22px}.garden-intro .whole-plan-item small{font-size:10px}.garden-intro .whole-plan-arrow{color:var(--garden-gold)}
.garden-intro-body{font-size:14px;line-height:1.95;color:#625548;margin:0 auto 24px}
.garden-intro-close{border-top:1px solid #d8ddcf;max-width:760px;margin:auto;padding-top:23px}.garden-intro-close p{font-family:var(--garden-serif);font-size:clamp(25px,3.5vw,40px);line-height:1.5;margin:0 0 8px;font-weight:700}.garden-intro-close p strong{font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:900;font-size:1.12em}.garden-intro-close h3{font-size:clamp(18px,2.7vw,28px);line-height:1.65;margin:0;font-weight:900;letter-spacing:-.03em}
.garden-mobile-break{display:none}.garden-intro-next{margin:23px 0 0;padding:13px 12px;background:#fff0dd;border-radius:10px;font-size:14px;line-height:1.8}.garden-intro-next strong{font-size:1.2em}.garden-intro-next>span{display:block;color:#ac8538;font-size:23px;line-height:1.1;animation:garden-cue 2.8s ease-in-out infinite}
.focus-page .focus-value-lead{font-family:var(--garden-serif);font-size:clamp(21px,3vw,32px);font-weight:800;line-height:1.65}.focus-page .focus-value h2{font-weight:900}.focus-page .focus-value h2 em{font-size:1.08em;color:#f36b22}.focus-page .focus-section h2,.focus-page .focus-final h2{font-family:var(--garden-serif);font-weight:800;letter-spacing:-.025em}.focus-page .focus-value-list h3,.focus-page .focus-three h3{font-weight:900}.focus-page .focus-value-list article>span{font-family:Georgia,serif;font-size:30px;color:#a2803f}
.focus-page .focus-cta,.focus-page .garden-reserve-button{background:linear-gradient(110deg,#f36b22,#ff9226,#ff4d24,#f36b22);background-size:260% 100%;animation:garden-button-flow 7s ease-in-out infinite alternate;box-shadow:0 8px 22px #264a3620;transition:transform .25s,box-shadow .25s}.focus-page .focus-cta:hover,.focus-page .garden-reserve-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px #264a3630}.focus-page .focus-cta>span,.focus-page .garden-reserve-button>span:last-child{transition:transform .25s}.focus-page .focus-cta:hover>span,.focus-page .garden-reserve-button:hover>span:last-child{transform:translateX(4px)}
.garden-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--garden-delay,0ms)}.garden-reveal.is-visible{opacity:1;transform:none}
@keyframes garden-gold-flow{to{background-position:100% 50%}}@keyframes garden-button-flow{to{background-position:100% 50%}}@keyframes garden-cue{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(max-width:700px){.garden-intro{margin:12px -2px 0;padding:24px 14px 17px;border-radius:18px}.garden-kicker{font-size:8px;letter-spacing:.13em;margin-bottom:12px}.garden-intro h2{font-size:clamp(25px,7.5vw,40px)}.garden-intro h2 .garden-serif{font-size:.72em}.garden-intro .whole-plan-flow{margin:20px auto;gap:5px}.garden-intro .whole-plan-item{padding:10px 2px}.garden-intro .whole-plan-item svg{height:43px}.garden-intro .whole-plan-item strong{font-size:17px}.garden-intro .whole-plan-item small{display:none}.garden-intro-body{font-size:11px;line-height:1.9;margin-bottom:17px}.garden-intro-close{padding-top:17px}.garden-intro-close h3{font-size:18px}.garden-mobile-break{display:block}.garden-intro-next{font-size:11px;padding:10px 5px;margin-top:17px}.garden-intro-next strong{font-size:1.15em}}
@media(prefers-reduced-motion:reduce){.garden-reveal{opacity:1;transform:none;transition:none}.garden-gold,.garden-intro-next>span,.focus-page .focus-cta,.focus-page .garden-reserve-button{animation:none;transition:none}}

/* A gentle flip makes the backwards planning direction visible. */
.focus-page .whole-plan-arrow{display:inline-block;transition:transform 1.2s cubic-bezier(.4,0,.2,1),color 1.2s;transform-origin:center;backface-visibility:visible}
.focus-page .garden-flow-reverse .whole-plan-arrow{transform:rotateY(180deg);color:#a17a30}
.garden-flow-caption{text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;color:#667965;margin:-8px 0 22px;line-height:1.6;min-height:1.6em;transition:color .8s}
.garden-flow-caption.is-reverse{color:#97702d}
.whole-plan>.garden-flow-caption{margin:12px 0}
@media(max-width:700px){.garden-flow-caption{font-size:11px;margin:-6px 0 16px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.focus-page .whole-plan-arrow,.garden-flow-caption{transition:none}}

/* Three lines, with the planner as the visual focus. */
.focus-page .planner-value-lead{container-type:inline-size;text-align:center;margin:0 0 28px;line-height:1.6}
.planner-value-lead>span,.planner-value-lead>strong{display:block}
.planner-value-lead .value-opening{font-family:var(--garden-serif);font-size:clamp(18px,4.5cqw,27px);font-weight:600;letter-spacing:.04em}
.planner-value-lead .value-planner{font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:clamp(23px,7.8cqw,44px);font-weight:900;letter-spacing:-.045em;line-height:1.5;margin:8px 0}
.planner-value-lead .value-destination{font-family:var(--garden-serif);font-size:clamp(14px,5.65cqw,30px);font-weight:800;letter-spacing:-.045em;white-space:nowrap}
@media(max-width:700px){.focus-page .planner-value-lead{margin-bottom:24px}.planner-value-lead .value-planner{margin:6px 0}}

/* Keep the value heading on exactly two lines, including narrow phones. */
.focus-page #value-title{container-type:inline-size;line-height:1.65;letter-spacing:-.04em}
.focus-page #value-title>span,.focus-page #value-title>em{display:block;white-space:nowrap;font-size:min(30px,6.45cqw);font-weight:900;letter-spacing:-.04em}
.focus-page #value-title>em{font-style:normal;text-underline-offset:.22em;text-decoration-thickness:2px}
