/* Fourth edition: each decision carries the visitor into the next scene. */
:root { --orchard-ease: cubic-bezier(.18,.82,.18,1); }

/* A drawn direction mark, with one clear movement on interaction. */
.action-arrow { position:relative; display:inline-block; flex:0 0 42px; width:42px; height:20px; margin-left:10px; vertical-align:middle; transition:transform .4s var(--orchard-ease); }
.action-arrow::before { content:''; position:absolute; top:9px; left:0; width:38px; height:1px; background:currentColor; }
.action-arrow::after { content:''; position:absolute; width:9px; height:9px; right:4px; top:5px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
a:hover .action-arrow, button:hover .action-arrow { transform:translateX(5px); }
a:active .action-arrow, button:active .action-arrow { transform:translateX(9px); }
.hero-third .hero-action { padding-right:26px; border-bottom:1px solid #c87533; }
.hero-third .hero-action:hover { transform:translateY(-3px); }
.day-action { gap:16px; }
.plan-next { min-height:68px; transition:background .3s, transform .2s; }
#plan-next-label { font:500 15px/1.7 'Noto Sans JP',sans-serif; text-align:left; }
.plan-next .action-arrow { font:inherit; }
.stepper button { border-radius:50%; }
.stepper button:focus-visible { outline-color:#103829; }
.month-tabs button { transition:background .3s, color .3s, box-shadow .3s; }
.fruit-option { transition:background .3s, color .3s, border-color .3s, transform .2s; }
.fruit-option[aria-pressed=true] { border-color:#f7ad67; box-shadow:inset 4px 0 #ffcf9e; }
.fruit-option:active { transform:translateY(2px); }
.plan-total b { font-variant-numeric:tabular-nums; }
.plan-total .digit-enter { display:inline-block; animation:price-digit .38s var(--orchard-ease) both; }
@keyframes price-digit { from { opacity:.15; transform:translateY(.26em); } to { opacity:1; transform:translateY(0); } }

/* Three scenes: looking upward, reaching across, then a close, quiet reveal. */
.film-frame { transition:opacity .72s, visibility .72s; }
.film-frame[data-frame="0"].is-current>img { animation:branch-reveal 2.4s var(--orchard-ease) both; }
.film-frame[data-frame="1"].is-current>img { animation:reach-reveal 2s var(--orchard-ease) both; }
.film-frame[data-frame="2"].is-current>img { animation:taste-reveal 2.2s var(--orchard-ease) both; }
.film-frame[data-frame="0"].is-current h2 { animation:branch-type 1.05s .13s var(--orchard-ease) both; }
.film-frame[data-frame="1"].is-current h2 { animation:reach-type 1.1s .16s var(--orchard-ease) both; }
.film-frame[data-frame="2"].is-current h2 { animation:taste-type 1.1s .16s var(--orchard-ease) both; }
.film-frame.is-current .film-overline { animation:scene-overline .65s .15s both; }
.film-frame.is-current .film-copy p { transition-delay:.45s; }
.film-frame.is-current .film-cta { animation:scene-overline .75s .6s both; }
.film-frame[data-frame="1"] .film-shade { background:linear-gradient(90deg,#07251ec9 0%,#09261d55 46%,transparent 78%),linear-gradient(0deg,#09281dea,transparent 64%); }
.film-frame[data-frame="2"] .film-shade { background:linear-gradient(90deg,#142c21ca,transparent 78%),linear-gradient(0deg,#10291dea,transparent 70%); }
@keyframes branch-reveal { from { transform:scale(1.17) translateY(2.5%); } to { transform:scale(1) translateY(0); } }
@keyframes reach-reveal { from { transform:scale(1.065) translateX(2.8%); clip-path:inset(0 0 0 12%); } to { transform:scale(1) translateX(0); clip-path:inset(0); } }
@keyframes taste-reveal { from { transform:scale(1.035); filter:brightness(.65) saturate(.7); } to { transform:scale(1); filter:brightness(1) saturate(1); } }
@keyframes branch-type { from { opacity:0; transform:translateY(55px); clip-path:inset(100% 0 0); } to { opacity:1; transform:translateY(0); clip-path:inset(0); } }
@keyframes reach-type { from { opacity:0; transform:translateX(-35px); clip-path:inset(0 100% 0 0); } to { opacity:1; transform:translateX(0); clip-path:inset(0); } }
@keyframes taste-type { from { opacity:0; transform:translateY(18px); letter-spacing:.035em; } to { opacity:1; transform:translateY(0); letter-spacing:-.06em; } }
@keyframes scene-overline { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }

/* A short, asymmetric detour replaces the repeated three-card introduction. */
.orchard-detour { display:grid; grid-template-columns:.8fr 1.6fr; gap:7%; padding-top:40px; padding-bottom:110px; background:#fffaf1; }
.detour-heading { padding-top:20px; }
.detour-heading .eyebrow { font-size:12px; letter-spacing:.08em; color:#9b5125; }
.detour-heading h2 { font:500 clamp(29px,3.1vw,45px)/1.65 var(--serif); letter-spacing:-.045em; }
.detour-heading>p { margin-top:24px; font-size:15px; line-height:2.1; }
.detour-links { display:grid; grid-template-columns:1.12fr .88fr; align-items:start; gap:7%; }
.detour-link { display:block; min-width:0; }
.detour-link:nth-child(2) { margin-top:105px; }
.detour-link figure { margin:0 0 22px; overflow:hidden; background:#284e35; aspect-ratio:4/5; }
.detour-link:nth-child(2) figure { aspect-ratio:4/4.6; }
.detour-link img { width:100%; height:100%; object-fit:cover; transition:transform 1s var(--orchard-ease), filter .6s; }
.detour-link:first-child img { object-position:50% 50%; }
.detour-link:nth-child(2) img { object-position:50% 72%; }
.detour-link:hover img { transform:scale(1.045); filter:brightness(1.07); }
.detour-link>div { border-top:1px solid #173d2c4d; padding:16px 0 3px; }
.detour-link small { font-size:12px; color:#865428; letter-spacing:.045em; }
.detour-link h3 { font:500 clamp(21px,2vw,28px)/1.7 var(--serif); letter-spacing:-.045em; margin:12px 0 20px; }
.detour-link>div>span { display:inline-block; font-size:13px; line-height:1.8; padding-bottom:5px; border-bottom:1px solid #163d2c; }
.detour-link:hover>div>span { color:#ab571f; border-color:#ab571f; }

/* Carry the selected company and activity into one practical plan. */
.planner-modes { display:flex; gap:0; margin:0 0 28px; border-bottom:1px solid #143b2960; }
.planner-modes button { flex:1; min-height:55px; padding:14px 12px; background:transparent; color:#173d2c; font:500 16px/1.6 'Noto Sans JP',sans-serif; border-bottom:3px solid transparent; transition:background .25s, border-color .25s; }
.planner-modes button[aria-pressed="true"], .planner-modes button[aria-selected="true"] { background:#153e2b; color:#fff7e8; border-color:#153e2b; }
.planner-modes button:hover { background:#ffffff26; }
.planner-modes button[aria-pressed="true"]:hover, .planner-modes button[aria-selected="true"]:hover { background:#224e37; }
.bbq-plan-note { padding:23px 0 24px; border-bottom:1px solid #173d2c55; font-size:15px; line-height:2; }
.bbq-plan-note strong, .bbq-plan-note b { font-weight:500; }
.bbq-plan-note a { display:inline-block; border-bottom:1px solid #173d2c; margin-top:10px; padding-bottom:4px; }
.planner-date-label, label[for="plan-date"] { display:block; margin:26px 0 10px; font-size:14px; font-weight:500; }
#plan-date { display:block; width:100%; min-width:0; min-height:56px; border:0; border-bottom:2px solid #173f2c; border-radius:0; padding:12px 8px; background:transparent; color:#173b29; font:400 21px/1.5 'DM Sans','Noto Sans JP',sans-serif; color-scheme:light; }
#plan-date::-webkit-calendar-picker-indicator { cursor:pointer; padding:5px; }
#plan-context { display:block; margin:0 0 14px; font:500 14px/1.9 'Noto Sans JP',sans-serif; color:#8b4e22; }
.plan-summary { max-width:100%; overflow-wrap:anywhere; }
.context-review { display:block; margin-top:24px; border-left:2px solid #ca763b; padding:1px 0 1px 20px; font-size:14px; line-height:1.95; }
.context-review p { font-size:14px; line-height:1.95; }
.context-review a { display:inline-block; font-size:12px; margin-top:9px; border-bottom:1px solid #63755d; padding-bottom:3px; }
.context-review small { display:block; margin-top:8px; font-size:12px; line-height:1.8; }
.audience-prep { font:500 18px/1.95 var(--serif); border-top:1px solid #183b2a45; border-bottom:1px solid #183b2a45; padding:22px 0; margin:0 0 26px; max-width:930px; letter-spacing:.01em; }
.hand-bridge { display:flex; gap:20px; align-items:center; margin:0 0 42px; color:#fbbb82; }
.hand-bridge span { flex:1; position:relative; font:400 13px/1.8 var(--serif); white-space:nowrap; padding-top:14px; border-top:1px solid #fbbb8260; }
.hand-bridge span::before { content:''; position:absolute; width:4px; height:4px; top:-2px; left:0; background:#fbbb82; border-radius:50%; }
.hand-bridge span+span { margin-left:0; }
.grower-copy .hand-bridge + .eyebrow { margin-bottom:20px; }
.voices .voice.is-recommended { background:#f5ead7; margin-left:-18px; margin-right:-18px; padding-left:18px; padding-right:18px; border-top-color:#173d2c; }

@media (max-width:1100px) {
 .orchard-detour { grid-template-columns:.8fr 1.4fr; gap:5%; }
 .detour-links { gap:6%; }
 .detour-link h3 { font-size:23px; }
 .hand-bridge { gap:12px; }
 .hand-bridge span { font-size:12px; }
}
@media (max-width:760px) {
 /* Keep the harvesting hands and both faces above the first line of type. */
 .hero-third { --hero-photo-height:clamp(420px,113vw,640px); height:auto; min-height:0; max-height:none; padding-top:var(--hero-photo-height); background:#10291c; }
 .hero-third .hero-media { top:0; bottom:auto; height:var(--hero-photo-height); }
 .hero-third .hero-media img { height:100%; object-position:100% 50%; mask-image:none; animation:mobile-orchard-arrive 1.8s var(--orchard-ease) both; }
 .hero-third .hero-shade { bottom:auto; height:var(--hero-photo-height); background:linear-gradient(180deg,#08251b88 0%,transparent 34%),linear-gradient(0deg,#10291c 0%,#10291c00 17%); }
 .hero-third .hero-copy { position:relative; inset:auto; width:auto; max-width:none; padding:12px 6% 30px; margin:0; }
 .hero-third .hero-kicker { font-size:14px; letter-spacing:.12em; margin:0 0 18px; }
 .hero-third h1 { font-size:clamp(39px,10.25vw,70px); line-height:1.23; letter-spacing:-.08em; }
 .hero-third h1 .hero-first { margin-bottom:5px; font-size:.86em; letter-spacing:-.025em; }
 .hero-third h1 .hero-second { padding-bottom:.12em; }
 .hero-third h1 em { font-size:1.95em; }
 .hero-third .hero-description { margin-top:20px; font-size:15px; line-height:1.95; }
 .hero-third .hero-action { margin-top:24px; min-height:62px; padding:17px 21px; font-size:14px; }
 .hero-third .hero-bottom { position:relative; inset:auto; padding:0 6% 33px; width:100%; gap:24px; align-items:flex-end; }
 .hero-third .hero-bottom>span:first-child { max-width:155px; font-size:11px; letter-spacing:.02em; }
 .hero-third .hero-season-link { max-width:140px; font-size:11px; }
 .hero-third .hero-concept { top:calc(var(--hero-photo-height) - 33px); bottom:auto; left:6%; max-width:88%; font-size:10px; padding:2px 6px; background:#09241b85; }
 .hero-third .hero-side { top:175px; right:10px; font-size:9px; }
 .hero-third .hero-topline { top:105px; }
 .hero-third .hero-topline span { font-size:11px; }
 .hero-third .hero-action .action-arrow { flex-basis:36px; width:36px; }
 .hero-third .hero-action .action-arrow::before { width:32px; }
 .film-frame>img { height:67%; mask-image:linear-gradient(#000 0%,#000 68%,transparent 100%); }
 .film-frame[data-frame="0"]>img { object-position:50% 40%; }
 .film-frame[data-frame="1"]>img { object-position:100% 48%; }
 .film-frame[data-frame="2"]>img { object-position:70% 43%; }
 .film-shade, .film-frame[data-frame="1"] .film-shade, .film-frame[data-frame="2"] .film-shade { background:linear-gradient(0deg,#09241b 0%,#09241b 30%,#09241b30 59%,transparent 78%); }
 .film-copy { bottom:23%; left:7%; max-width:88%; }
 .film-copy h2 { font-size:clamp(42px,11.8vw,75px); line-height:1.23; margin-bottom:18px; }
 .film-overline { margin-bottom:15px; font-size:12px; }
 .film-copy p { font-size:14px; line-height:1.95; }
 .film-control { gap:14px; bottom:82px; }
 .film-frame[data-frame="2"] .film-copy { bottom:22%; }
 .film-frame[data-frame="2"] .film-copy h2 { font-size:clamp(40px,11.3vw,70px); }
 .film-cta { margin-top:12px; font-size:14px; }
 .orchard-detour { display:block; padding-top:20px; padding-bottom:72px; }
 .detour-heading { padding:0; max-width:540px; }
 .detour-heading h2 { font-size:clamp(31px,8vw,43px); line-height:1.6; }
 .detour-heading .eyebrow { margin-bottom:18px; font-size:12px; }
 .detour-heading>p { font-size:15px; line-height:2; margin-top:17px; }
 .detour-links { margin-top:32px; grid-template-columns:1.1fr .9fr; gap:6%; }
 .detour-link:nth-child(2) { margin-top:67px; }
 .detour-link figure { margin-bottom:16px; aspect-ratio:3/4; }
 .detour-link:nth-child(2) figure { aspect-ratio:3/4; }
 .detour-link>div { padding-top:13px; }
 .detour-link small { font-size:11px; }
 .detour-link h3 { font-size:clamp(20px,4.5vw,29px); line-height:1.65; margin:11px 0 16px; }
 .detour-link>div>span { font-size:12px; line-height:1.8; }
 .planner-modes { margin-bottom:23px; }
 .planner-modes button { min-height:52px; font-size:14px; padding:13px 9px; }
 .planner-date-label, label[for="plan-date"] { margin-top:22px; }
 #plan-date { font-size:19px; }
 .bbq-plan-note { padding:18px 0 20px; font-size:14px; }
 .plan-next { padding:17px 16px; }
 #plan-next-label { font-size:14px; }
 .plan-next .action-arrow { flex-basis:32px; width:32px; margin-left:3px; }
 .plan-next .action-arrow::before { width:28px; }
 #plan-context { font-size:13px; }
 .context-review { font-size:13px; padding-left:16px; margin-top:23px; }
 .context-review p { font-size:13px; }
 .audience-prep { font-size:17px; padding:20px 0; margin-bottom:16px; line-height:1.9; }
 .hand-bridge { gap:18px; margin-bottom:30px; }
 .hand-bridge span { font-size:13px; }
 .grower-copy.section-space { padding-top:36px; }
 .voices .voice.is-recommended { margin-left:-14px; margin-right:-14px; padding-left:14px; padding-right:14px; }
}
@media (max-width:360px) {
 .hero-third { --hero-photo-height:400px; }
 .hero-third h1 { font-size:10.2vw; }
 .hero-third .hero-description { font-size:14px; }
 .hero-third .hero-action { padding:16px 17px; font-size:13px; }
 .hero-third .hero-bottom { gap:15px; }
 .hero-third .hero-bottom>span:first-child { max-width:137px; }
 .hero-third .hero-season-link { max-width:131px; }
 .detour-link h3 { font-size:19px; }
 .detour-links { gap:5%; }
 .hand-bridge { gap:10px; }
 .hand-bridge span { font-size:12px; }
}
@keyframes mobile-orchard-arrive { from { transform:scale(1.045); filter:brightness(.7); } to { transform:scale(1); filter:brightness(1); } }

/* Motion preferences retain all information and immediate state feedback. */
.motion-reduced .action-arrow,
.motion-reduced .film-frame>img,
.motion-reduced .film-copy h2,
.motion-reduced .film-overline,
.motion-reduced .film-cta,
.motion-reduced .digit-enter { animation:none!important; transition:none!important; transform:none!important; clip-path:none!important; filter:none!important; opacity:1!important; }
@media (prefers-reduced-motion:reduce) {
 .action-arrow, .film-frame>img, .film-copy h2, .film-overline, .film-cta, .digit-enter { animation:none!important; transition:none!important; transform:none!important; clip-path:none!important; filter:none!important; opacity:1!important; }
}

/* Phones and touch screens scroll through complete scenes in ordinary document flow. */
@media (max-width:760px), (hover:none) and (pointer:coarse) {
 html { height:auto; overflow-y:auto; overflow-x:clip; touch-action:auto; }
 body:not(.menu-open):not(.dialog-open) { height:auto; overflow-y:auto; touch-action:auto; }
 .harvest-film, .motion-reduced .harvest-film { height:auto; overflow:visible; }
 .harvest-film .film-stage, .motion-reduced .film-stage { position:relative; inset:auto; height:auto; min-height:0; overflow:visible; }
 .harvest-film .film-frame, .motion-reduced .film-frame { --scene-photo-height:clamp(320px,78vw,480px); position:relative; inset:auto; opacity:1; visibility:visible; height:auto; min-height:580px; padding:calc(var(--scene-photo-height) - 22px) 7% 45px; overflow:hidden; transition:none; }
 .harvest-film .film-frame>img { position:absolute; inset:0 0 auto; width:100%; height:var(--scene-photo-height); mask-image:linear-gradient(#000 0%,#000 72%,transparent 100%); }
 .harvest-film .film-shade { height:var(--scene-photo-height); bottom:auto; background:linear-gradient(0deg,#09241b 0%,transparent 28%),linear-gradient(180deg,#09241b55,transparent 30%); }
 .harvest-film .film-copy, .harvest-film .film-frame[data-frame="2"] .film-copy, .motion-reduced .film-copy { position:relative; inset:auto; max-width:none; width:100%; }
 .harvest-film .film-copy h2, .harvest-film .film-copy p { opacity:1; transform:none; }
 .harvest-film .film-copy h2 { margin-bottom:17px; }
 .harvest-film .film-overline { margin-bottom:15px; }
 .harvest-film .film-control, .harvest-film .film-skip { display:none; }
 .harvest-film .film-caption { top:20px; left:7%; max-width:86%; }
 .harvest-film .film-frame+.film-frame { border-top:1px solid #f6b47730; }
}

.plan-total b>span{display:inline-block}
.plan-date-field>p{font-size:12px;line-height:1.8;margin-top:9px}
.plan-date-field label small{font-size:11px;font-weight:400;margin-left:8px}
.day-example b{font-family:var(--serif);font-size:clamp(23px,2.5vw,34px)}
@media(max-width:760px){.day-example li{grid-template-columns:82px 1fr}.day-example b{font-size:22px}.visit-reserve h3{overflow-wrap:anywhere}}
