:root{--ink:#263d31;--paper:#f4f0df;--grass:#d8e8ab;--berry:#bf575e;--field:#f3b864;--line:#a5b99c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.75}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--berry);outline-offset:4px}.skip{position:absolute;top:-100px;left:12px;background:white;padding:8px;z-index:20}.skip:focus{top:8px}.demo{background:var(--ink);color:#f7f3de;text-align:center;font-size:.67rem;padding:8px 18px}header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:15px clamp(20px,5vw,80px);background:#f7f2dc;border-bottom:3px solid var(--ink)}.brand{text-decoration:none;font-weight:900;font-size:1.55rem;letter-spacing:-.08em;line-height:1}.brand span{font-size:.8em}.brand small{display:block;font:700 .53rem Arial,sans-serif;letter-spacing:.15em;margin-top:9px}.back{justify-self:end;border-bottom:1px solid;text-decoration:none;font-size:.76rem}header nav{display:flex;gap:24px;font-size:.8rem}header nav a{text-decoration:none}header nav a:hover{text-decoration:underline}.eyebrow{font:800 .66rem Arial,sans-serif;letter-spacing:.17em}.hero{display:grid;grid-template-columns:48% 52%;min-height:700px;background:var(--grass);overflow:hidden}.hero-copy{padding:clamp(70px,8vw,130px) 20px clamp(70px,8vw,130px) clamp(25px,6vw,100px);align-self:center;position:relative;z-index:2}.hero h1{font-weight:900;font-size:clamp(5rem,8.3vw,10.5rem);line-height:.98;letter-spacing:-.13em;margin:40px 0 32px;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--berry)}.hero-copy>p:not(.eyebrow){max-width:430px;font-size:.93rem}.hero-copy>a{display:inline-block;margin-top:25px;background:var(--ink);color:#fff7dd;padding:13px 22px;text-decoration:none;font-weight:800}.hero-collage{position:relative;min-height:700px}.aerial{position:absolute;inset:5% 6% 5% -2%;border-radius:50% 46% 49% 45%;transform:rotate(-12deg);background:repeating-radial-gradient(ellipse at 40% 50%,#7f9f7a44 0 2px,transparent 2px 20px),#e8ddab;border:9px solid #f9f4e1;box-shadow:0 0 0 3px var(--ink);overflow:hidden}.aerial span{position:absolute;top:8%;left:20%;font:900 .74rem Arial,sans-serif;letter-spacing:.17em}.aerial i{position:absolute;width:12%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 30%,#d5e7a7 0 20%,#6b9869 21% 72%,#385d45 73%);box-shadow:0 7px 0 #385d4555}.aerial i:nth-of-type(1){top:20%;left:23%}.aerial i:nth-of-type(2){top:18%;left:47%}.aerial i:nth-of-type(3){top:32%;left:34%}.aerial i:nth-of-type(4){top:33%;left:62%}.aerial i:nth-of-type(5){top:49%;left:16%}.aerial i:nth-of-type(6){top:52%;left:49%}.aerial i:nth-of-type(7){top:67%;left:34%}.aerial i:nth-of-type(8){top:64%;left:69%}.aerial i:nth-of-type(9){top:77%;left:53%}.hero-photo{position:absolute;right:1%;bottom:8%;width:43%;height:41%;transform:rotate(9deg);border:9px solid #fff9e7;background:#fff;box-shadow:13px 13px 0 #263d3155}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo b{position:absolute;left:0;right:0;bottom:0;background:#fff9e7;padding:4px 6px;font:700 .52rem Arial,sans-serif;letter-spacing:.08em}.map-stamp{position:absolute;right:4%;top:10%;border:3px solid var(--berry);border-radius:50%;width:140px;height:140px;display:grid;place-content:center;text-align:center;color:var(--berry);font:900 .8rem/1.5 Arial,sans-serif;letter-spacing:.1em;transform:rotate(14deg);background:#f8f3dfdd}.map{padding:clamp(80px,9vw,145px) clamp(20px,6vw,100px);background:#faf5e5}.map-head,.heading{display:grid;grid-template-columns:1fr .7fr;gap:0 30px;align-items:end}.map-head .eyebrow,.heading .eyebrow{grid-column:1/-1}.map h2,.fruit h2,.visit h2,.interlude h2,.about h2{font-size:clamp(3rem,5vw,6.5rem);line-height:1.17;letter-spacing:-.1em;margin:25px 0;font-weight:900}.map-head>p:last-child,.heading>p:last-child{max-width:450px;font-size:.86rem}.orchard-map{height:570px;position:relative;background:#e3deb5;border:8px solid var(--ink);margin-top:55px;overflow:hidden;transition:background .7s}.orchard-map[data-fruit=strawberry]{background:#efd6be}.orchard-map:before{content:"";position:absolute;inset:-20%;background:repeating-radial-gradient(ellipse at 42% 50%,transparent 0 27px,#62795938 28px 30px);transform:rotate(-11deg)}.map-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,#405a3d77 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#405a3d77 50%,transparent 50.2%);display:flex;justify-content:space-between;align-items:start;padding:16px;font:700 .62rem Arial,sans-serif;letter-spacing:.14em;z-index:1}.map-tree{position:absolute;width:75px;height:75px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#def1aa 0 13%,#6e9766 14% 74%,#365b44 75%);box-shadow:0 12px 0 #35574450;z-index:2;transition:transform .5s,opacity .5s}.tree-1{left:13%;top:15%}.tree-2{left:27%;top:24%}.tree-3{left:40%;top:11%}.tree-4{left:53%;top:29%}.tree-5{left:18%;top:53%}.tree-6{left:36%;top:67%}.tree-7{left:58%;top:59%}.tree-8{left:71%;top:18%}.map-row{position:absolute;width:26%;height:11%;right:8%;border-top:12px dashed #c55860;border-bottom:12px dashed #c55860;transform:rotate(-17deg);z-index:2;transition:transform .5s}.row-1{top:43%}.row-2{top:59%}.row-3{top:75%}.orchard-map[data-fruit=strawberry] .map-tree{transform:scale(.72);opacity:.6}.orchard-map[data-fruit=strawberry] .map-row{transform:rotate(-17deg) scaleX(1.14)}.map-point{position:absolute;z-index:4;background:#fff9e9;border:3px solid var(--ink);padding:9px 15px;cursor:pointer;font-weight:900;box-shadow:6px 6px 0 var(--ink);white-space:nowrap}.map-point span{font:800 .7rem Arial,sans-serif;margin-right:8px;color:var(--berry)}.map-point[aria-pressed=true]{background:var(--berry);color:#fff9e9;border-color:var(--berry);box-shadow:6px 6px 0 #763b42}.map-point[aria-pressed=true] span{color:#fff9e9}.point-apple{left:37%;top:40%}.point-strawberry{right:11%;bottom:20%}.map-legend{position:absolute;z-index:3;left:15px;bottom:15px;background:#fff9e9;padding:8px 12px;display:flex;gap:14px;flex-wrap:wrap;font-size:.65rem}.map-legend b{font-family:Arial,sans-serif;letter-spacing:.12em}.fruit{padding:clamp(80px,9vw,145px) clamp(20px,6vw,100px);background:#e3efce}.fruit-tabs{display:flex;gap:8px;margin-top:48px}.fruit-tabs button{border:2px solid var(--ink);background:transparent;padding:12px 18px;min-width:230px;text-align:left;cursor:pointer;font-size:.88rem;font-weight:800}.fruit-tabs button[aria-pressed=true]{background:var(--ink);color:white}.fruit-tabs button span{display:block;font:700 .62rem Arial,sans-serif;letter-spacing:.15em;margin-bottom:5px}.fruit-stage{display:grid;grid-template-columns:60% 40%;min-height:570px;margin-top:15px;background:#faf5e5;box-shadow:15px 15px 0 #91af83}.fruit-photo{position:relative;overflow:hidden}.fruit-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.fruit-photo img:hover{transform:scale(1.03)}.fruit-photo span{position:absolute;bottom:17px;left:17px;background:var(--ink);color:white;padding:7px 10px;font:700 .57rem Arial,sans-serif;letter-spacing:.1em}.fruit-copy{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;align-items:start}.fruit-copy>p:first-child{font:800 .65rem Arial,sans-serif;letter-spacing:.15em;color:var(--berry)}.fruit-copy h3{font-size:clamp(2rem,3vw,3.7rem);line-height:1.25;letter-spacing:-.08em;margin:22px 0}.fruit-copy>p:not(:first-child){font-size:.87rem}.fruit-copy>div{border-top:2px solid var(--ink);margin-top:auto;padding-top:16px;font-size:.82rem}.fruit-copy>div strong{color:var(--berry)}.fruit-copy small{font-size:.7rem;margin-top:24px}.interlude{display:grid;grid-template-columns:1.1fr .9fr;min-height:550px;background:var(--berry);color:#fff9e9}.interlude img{width:100%;height:100%;object-fit:cover}.interlude>div{padding:clamp(60px,8vw,130px);align-self:center}.interlude h2{font-size:clamp(3rem,5vw,6rem)}.interlude>div>p:last-child{font-size:.88rem;max-width:430px}.visit{padding:clamp(80px,9vw,145px) clamp(20px,6vw,100px);background:#faf5e5}.visit-grid{display:grid;grid-template-columns:1fr .9fr;gap:6vw;margin-top:55px}.controls fieldset{border:0;border-top:2px solid var(--ink);padding:18px 0 28px;margin:0}.controls legend{font-weight:900}.controls legend span{font:800 .8rem Arial,sans-serif;color:var(--berry);margin-right:15px}.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.choices button{background:transparent;border:2px solid var(--ink);padding:9px 15px;cursor:pointer;font-size:.82rem}.choices button[aria-pressed=true]{background:var(--ink);color:white}.reset{margin-top:25px;border:0;border-bottom:1px solid;background:transparent;padding:7px 0;cursor:pointer;font-size:.8rem}.memo{align-self:start;background:#e5edce;padding:clamp(25px,4vw,50px);box-shadow:14px 14px 0 #7c9c6b}.memo-head{display:flex;justify-content:space-between;gap:10px;border-bottom:2px solid var(--ink);padding-bottom:12px;font:700 .6rem Arial,sans-serif;letter-spacing:.13em}.memo h3{font-size:clamp(1.8rem,2.5vw,3rem);line-height:1.3;letter-spacing:-.07em}.memo>p{font-size:.82rem}.memo dl{border-top:1px solid var(--line);margin:25px 0}.memo dl>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:11px 0;font-size:.8rem}.memo dd{margin:0;text-align:right;font-weight:800}.memo strong{font-size:.83rem;color:var(--berry)}.memo-foot{border-top:1px solid var(--line);padding-top:18px;margin-top:25px;font-size:.71rem!important}.about{padding:clamp(90px,10vw,170px) clamp(20px,6vw,100px);background:var(--ink);color:#fff9e9;display:grid;grid-template-columns:1.1fr .9fr;gap:0 6vw}.about span{grid-column:1/-1;font:800 .66rem Arial,sans-serif;letter-spacing:.16em}.about h2{grid-row:2/4}.about p{font-size:.86rem;max-width:500px}.about a{align-self:start;justify-self:start;background:var(--berry);padding:12px 18px;text-decoration:none;font-weight:800;font-size:.82rem}footer{background:#18291d;color:#fff9e9;display:flex;justify-content:space-between;gap:15px;padding:25px clamp(20px,6vw,100px);font-size:.72rem}footer a{text-decoration:none;border-bottom:1px solid}@media(max-width:1100px){header nav{display:none}.hero h1{font-size:clamp(4rem,7vw,7rem)}.aerial{inset:10% 3% 10% 0}.map-tree{width:60px;height:60px}}@media(max-width:760px){.hero{display:block}.hero-copy{padding:55px 25px 25px}.hero h1{font-size:clamp(4.4rem,13vw,7rem);margin:30px 0}.hero-collage{min-height:480px}.aerial{inset:5% 10% 5% 10%}.hero-photo{right:5%;bottom:4%;width:42%;height:42%}.map-head,.heading,.fruit-stage,.interlude,.visit-grid,.about{grid-template-columns:1fr}.orchard-map{height:460px}.fruit-stage{min-height:0}.fruit-photo{height:320px}.fruit-copy{min-height:420px}.interlude img{height:330px}.memo{margin-right:14px}.about h2{grid-row:auto}}@media(max-width:430px){.brand{font-size:1.2rem}.brand small{font-size:.43rem}.back{font-size:.62rem}.hero h1{font-size:4.15rem}.hero-collage{min-height:360px}.map-stamp{width:85px;height:85px;font-size:.52rem}.aerial span{font-size:.53rem}.orchard-map{height:390px}.map-tree{width:38px;height:38px}.map-row{border-width:7px}.map-point{padding:6px;font-size:.7rem;box-shadow:3px 3px 0 var(--ink)}.point-apple{left:32%;top:39%}.point-strawberry{right:7%;bottom:26%}.map-legend{font-size:.52rem}.fruit-tabs button{min-width:0;flex:1;padding:9px;font-size:.72rem}.fruit-photo{height:260px}.choices button{font-size:.76rem;padding:8px 11px}footer{display:block}footer a{display:inline-block;margin-top:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Japanese prose: balance short final lines while respecting punctuation. */
h1,h2,h3,p{line-break:strict}
p:not(.overline):not(.hero-side):not(.eyebrow){text-wrap:pretty}

/* 2026-10-31: photo-led field guide with a right-aligned industry title. */
.hero{display:flex;flex-direction:column;min-height:0;background:#eff1df;overflow:visible}.hero-collage{order:0;display:grid;grid-template-columns:2fr 1fr;gap:5px;min-height:0;height:clamp(330px,35vw,510px);background:var(--ink);overflow:hidden}.hero-photo,.hero-berry{position:relative;inset:auto;display:block;width:auto;height:100%;min-width:0;transform:none;border:0;box-shadow:none;overflow:hidden;background:#d2d9b8}.hero-photo img,.hero-berry img{display:block;width:100%;height:100%;object-fit:cover}.hero-photo img{object-position:center 58%}.hero-berry img{object-position:29% center}.hero-photo b,.hero-berry b{position:absolute;left:14px;right:auto;bottom:14px;background:#f7f3e6e8;color:var(--ink);padding:5px 7px;font:700 .56rem Arial,sans-serif;letter-spacing:.08em}.hero-berry b{left:auto;right:14px}.hero .map-stamp{z-index:2;right:clamp(12px,2vw,28px);top:18px;width:108px;height:108px;border:3px solid #fff5db;color:#fff5db;background:#263d31df;transform:rotate(9deg);font-size:.68rem}.hero-copy{order:1;align-self:auto;display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.45fr);grid-template-rows:auto 1fr auto;gap:0 clamp(20px,5vw,76px);padding:clamp(25px,3vw,44px) clamp(22px,6vw,96px) clamp(28px,3vw,46px);min-height:0;background:#eff1df}.hero-copy .eyebrow{grid-column:1;grid-row:1;margin:3px 0 18px;color:#87623c}.hero h1{grid-column:2;grid-row:1/4;align-self:center;justify-self:end;margin:0;font-size:clamp(3.5rem,6.5vw,7.8rem);line-height:1.12;letter-spacing:-.1em;white-space:normal;text-align:right}.hero h1 span{display:block;color:var(--berry)}.hero-copy>p:not(.eyebrow){grid-column:1;grid-row:2;margin:0;max-width:360px;font-size:.87rem;line-height:1.8}.hero-copy>a{grid-column:1;grid-row:3;justify-self:start;margin-top:22px;padding:10px 16px;font-size:.82rem}.hero .aerial{display:none}@media(max-width:760px){.hero-collage{height:clamp(275px,65vw,430px);grid-template-columns:1.25fr 1fr}.hero-copy{display:block;padding:26px clamp(20px,5vw,38px) 36px}.hero-copy .eyebrow{margin:0 0 14px}.hero h1{font-size:clamp(3.4rem,10vw,6rem);text-align:left;line-height:1.08;margin:0 0 19px}.hero-copy>p:not(.eyebrow){max-width:580px}.hero-copy>a{margin-top:18px}.hero .map-stamp{width:78px;height:78px;font-size:.5rem;right:12px;top:12px}}@media(max-width:430px){.hero-collage{height:270px;gap:3px}.hero-photo img{object-position:64% center}.hero-berry img{object-position:27% center}.hero-photo b,.hero-berry b{font-size:.45rem;bottom:7px;left:7px;right:auto}.hero-berry b{display:none}.hero h1{font-size:clamp(3.25rem,12vw,4.2rem)}.hero-copy{padding-top:23px}}
@media(max-width:760px){.hero h1{justify-self:auto;width:100%}}
