:root{--green:#72bf44;--deep:#245a1c;--ink:#18362f;--muted:#62716b;--line:#dce7d7;--mint:#f0f8ea}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;color:var(--ink);background:white;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.9;overflow-wrap:break-word}a{color:inherit;text-decoration:none;touch-action:manipulation}a:focus-visible{outline:3px solid #bc9a19;outline-offset:5px}.wrap{width:min(1200px,90%);margin:auto}header{display:flex;align-items:center;gap:36px;min-height:100px}.brand{line-height:1.1;flex-shrink:0}.brand b{font-size:30px;letter-spacing:-1.2px;color:#367d1a}.brand b span{font-weight:400}.brand i{color:#cfb23e;font-style:normal}.brand small{display:block;font-size:12px;letter-spacing:3px;margin-top:8px}nav{display:flex;gap:28px;margin-left:auto;font-size:14px;font-weight:600}nav a:hover{color:#367d1a}.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:14px 30px;border:1px solid var(--green);border-radius:5px;background:var(--green);color:var(--ink);font-size:16px;font-weight:700;transition:background .25s,transform .25s,box-shadow .25s}.button:hover{background:var(--deep);border-color:var(--deep);color:white;transform:translateY(-3px);box-shadow:0 7px 18px #18362f15}.compact{font-size:14px;min-height:46px;padding:9px 23px}.outline{background:white;color:#367d1a}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.actions .button{min-width:180px}p{color:var(--muted);margin:0 0 20px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.13em;color:#367d1a;margin:0 0 20px}.tag{display:inline-block;font-size:14px;border:1px solid var(--line);padding:3px 14px;border-radius:30px;margin-bottom:22px}h1,h2,h3{margin:0;font-weight:700}h1{font-size:clamp(38px,4.1vw,58px);line-height:1.55;letter-spacing:-.045em;margin-bottom:26px}em{font-style:normal;color:#367d1a}h2{font-size:clamp(28px,3.2vw,42px);line-height:1.65;letter-spacing:-.03em;margin-bottom:28px}h3{font-size:21px;line-height:1.65;letter-spacing:-.025em;margin-bottom:15px}.hero{display:grid;grid-template-columns:1.35fr .8fr;gap:65px;align-items:center;padding:40px 0 80px}.lead{font-size:17px;line-height:2.1}.hours{font-size:14px;margin-top:20px;margin-bottom:0}figure{margin:0;min-width:0}figure img{display:block;width:100%;height:auto;object-fit:contain;border-radius:8px}figcaption{font-size:14px;line-height:1.8;color:var(--muted);padding-top:12px}.hero-photo{width:min(100%,320px);justify-self:center}.hero-photo figcaption{color:var(--ink);font-size:16px;letter-spacing:.04em}.area-band{background:var(--green);padding:24px 0}.area-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.area-band span{font-size:16px}.area-band b{font-size:22px;letter-spacing:.2em;font-weight:500}.section{padding:110px 0}.section-head{max-width:800px;margin-bottom:48px}.strengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 38px}.strengths article{padding:30px 0 38px;border-top:1px solid var(--line)}.number{display:block;font-family:Georgia,serif;font-size:48px;line-height:1;color:#80ad60;margin-bottom:25px}.strengths p{font-size:16px;margin:0;line-height:2}.highlight h3{color:#367d1a}.no1{display:inline-block;font-size:40px;line-height:1.25;margin-left:10px;letter-spacing:-.04em}.visit{background:var(--mint)}.visit-grid{display:grid;grid-template-columns:.85fr 1.1fr;gap:100px;align-items:center}.interior-photo{width:100%;max-width:440px}.visit-copy>p:not(.eyebrow){font-size:17px;line-height:2.1}.visit-note{margin-top:32px;border-left:3px solid var(--green);padding:2px 0 2px 20px}.visit-note b{font-size:16px}.visit-note p{font-size:16px;margin:8px 0 0}.flow{display:grid;grid-template-columns:1fr 1.1fr;gap:75px}.flow ol{margin:0;padding:0;list-style:none}.flow li{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.flow li:first-child{padding-top:0}.flow li>span{font-family:Georgia,serif;font-size:26px;color:#367d1a}.flow h3{font-size:20px;margin:0 0 8px}.flow p{font-size:16px;margin:0}.access{background:#f7f9f5}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.store-name{font-size:21px;font-weight:700;color:var(--ink);margin-bottom:25px}dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:17px 20px;margin:0;font-size:14px;line-height:1.85}dt{color:var(--muted)}dd{margin:0}dd a{text-decoration:underline;text-underline-offset:4px}.closing{padding:95px 0;background:var(--deep);color:white;text-align:center}.closing h2{font-size:clamp(32px,4vw,50px)}.closing .eyebrow{color:#d8efca}.closing p{color:#e0eadb}.closing .actions{justify-content:center}.light{background:white;border-color:white;color:var(--deep)}.ghost{background:transparent;border-color:#a5c594;color:white}.ghost:hover{background:white;color:var(--deep);border-color:white}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:40px 0}footer>div{display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-size:12px;color:var(--muted)}.mobile-cta{display:none}[data-scroll-photo]{transform:translateY(var(--photo-offset,0px));opacity:var(--photo-opacity,1)}
@media(max-width:1000px){header{gap:20px}nav{gap:18px}.hero{gap:30px;grid-template-columns:1.3fr .8fr}.visit-grid{gap:45px}.access-grid{gap:40px}.strengths{gap:0 24px}.strengths h3{font-size:19px}.no1{font-size:34px}}
@media(max-width:700px){header{min-height:82px;justify-content:space-between}.brand b{font-size:25px}nav{display:none}.compact{padding:8px 18px;font-size:14px}.hero{grid-template-columns:1fr;padding:32px 0 65px;gap:38px}h1{font-size:clamp(34px,8.6vw,48px);line-height:1.6}h2{font-size:28px}.lead{font-size:16px}.hero .actions{gap:10px}.actions .button{min-width:0;flex:1;padding:14px 15px}.hours{font-size:14px}.hero-photo{width:min(75%,300px)}.hero-photo figcaption{font-size:14px}.area-band{padding:22px 0}.area-band .wrap{flex-wrap:wrap;gap:12px}.area-band span{width:100%;font-size:14px}.area-band b{font-size:20px}.section{padding:70px 0}.section-head{margin-bottom:25px}.strengths{grid-template-columns:1fr;gap:0}.strengths article{padding:28px 0}.number{font-size:38px;margin-bottom:16px}.strengths h3{font-size:23px}.strengths p{font-size:16px}.no1{font-size:42px}.visit-grid{grid-template-columns:1fr;gap:36px}.visit-copy{grid-row:1}.interior-photo{max-width:380px;margin:auto}.visit-copy>p:not(.eyebrow){font-size:16px}.visit-note{margin-top:26px;padding-left:16px}.flow{grid-template-columns:1fr;gap:18px}.flow li{gap:18px;padding:22px 0}.access-grid{grid-template-columns:1fr;gap:35px}.access h2{font-size:26px}dl{gap:16px;font-size:14px}.closing{padding:65px 0}.closing h2{font-size:32px}.closing .actions{gap:10px}footer{display:block;padding:35px 0 calc(115px + env(safe-area-inset-bottom))}footer>div{align-items:flex-start;margin-top:26px}.mobile-cta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:10;border-top:1px solid var(--line);background:white;padding:10px 4% calc(10px + env(safe-area-inset-bottom));gap:8px}.mobile-cta a{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:4px;font-size:14px;font-weight:700;color:#367d1a}.mobile-cta a:nth-child(2){background:var(--green);color:var(--ink)}.mobile-cta .reservation{background:var(--deep);border-color:var(--deep);color:white}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-scroll-photo]{transform:none;opacity:1}}

.map-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:14px;font-weight:600;color:#367d1a;text-decoration:underline;text-underline-offset:5px}.map-link:hover{color:var(--deep)}dd .map-link{margin-top:6px}

.access-photo{width:min(100%,340px);justify-self:center}

.hero-photo{width:100%;max-width:620px}.reveal-pending{opacity:0}
@media(max-width:700px){.hero-photo{width:100%;max-width:620px}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1}}
@media print{.reveal-pending{opacity:1}}

/* One green palette with full-width chapter backgrounds. */
.strengths-section{background:var(--mint)}
.visit{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flow-section{background:#e1eed7}
.access{background:#fff;border-top:1px solid var(--line)}

/* Fixed navigation and property search use the existing green palette. */
html{scroll-padding-top:120px}
body{padding-top:100px}
.site-header{display:block;position:fixed;inset:0 0 auto;z-index:20;min-height:0;background:var(--green);color:#fff;box-shadow:0 2px 12px #18362f12}
.header-inner{display:flex;align-items:center;gap:36px;min-height:100px}
.site-header .brand b,.site-header .brand span,.site-header .brand i,.site-header .brand small,.site-header nav a{color:#fff}
.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}
.property-search{background:var(--mint)}
.search-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center}
.property-search h2{margin-bottom:18px}
.property-search p{margin-bottom:0}
.search-action{text-align:center}
.search-action .button{gap:22px;min-width:270px}
.search-action p{margin-top:14px;font-size:14px}
@media(max-width:700px){
html{scroll-padding-top:122px}
body{padding-top:106px}
.header-inner{min-height:106px;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:12px 0}
.site-header .brand{display:flex;align-items:center;gap:12px}
.site-header .brand small{margin-top:0;font-size:11px;letter-spacing:1px}
.site-header nav{display:flex;width:100%;justify-content:space-between;gap:8px;margin:0;font-size:12px;white-space:nowrap}
.search-grid{grid-template-columns:1fr;gap:28px}
.search-action{text-align:left}
.search-action .button{width:100%;min-width:0}
.search-action p{text-align:center}
}
@media print{body{padding-top:0}.site-header{position:static}}

/* Match the opening chapter to the closing chapter. */
.hero-section{background:var(--deep);color:#fff}
.hero-section .hero{padding-top:65px;padding-bottom:80px}
.hero-section .eyebrow{color:#d8efca}
.hero-section h1 em{color:#d8efca}
.hero-section .lead,.hero-section .hours{color:#e0eadb}
.hero-section .tag{border-color:#a5c594;color:#fff}
.search-record{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;margin:0 0 28px;padding:20px 28px;border-top:3px solid var(--green);background:var(--deep);border-radius:6px;color:#fff;max-width:100%}
.search-record span{font-size:19px;font-weight:700;line-height:1.55}
.search-record small{display:block;font-size:14px;font-weight:500;letter-spacing:.12em;color:#d8efca;margin-bottom:3px}
.search-record strong{font-family:Arial,sans-serif;font-size:54px;font-weight:800;line-height:1.1;letter-spacing:-.055em;white-space:nowrap;color:#d8efca}
@media(max-width:700px){.hero-section .hero{padding-top:40px;padding-bottom:65px}.search-record{gap:24px;padding:18px 22px}.search-record span{font-size:18px}.search-record strong{font-size:48px}}

/* Opening chapter shares the fixed header's green and white palette. */
.hero-section{background:var(--green);color:#fff}
.hero-section .eyebrow,.hero-section h1 em,.hero-section .lead,.hero-section .hours{color:#fff}
.hero-section .tag{border-color:#fff;color:#fff;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;transition:background .25s,color .25s}
.hero-section .tag:hover{background:#fff;color:var(--deep)}

.hero-section .button.ghost{background:var(--deep);border-color:var(--deep);color:#fff}
.hero-section .button.ghost:hover{background:#fff;border-color:#fff;color:var(--deep)}
