:root{--ink:#2a443f;--paper:#fff9ec;--sun:#f4bb69;--coral:#d86b51;--mint:#c4e1d7;--line:#a5bbb0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;line-height:1.8}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #b34d35;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:#fff8e8;text-align:center;padding:8px 18px;font-size:.67rem}header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;padding:18px clamp(20px,5vw,80px);background:#fffaf0}.brand{text-decoration:none;font-weight:900;font-size:1.6rem;letter-spacing:-.06em;line-height:1}.brand small{display:block;font:700 .53rem Arial,sans-serif;letter-spacing:.16em;margin-top:10px}.back{justify-self:end;font-size:.75rem;border-bottom:1px solid;text-decoration:none}header nav{display:flex;gap:22px;font-size:.8rem}header nav a{text-decoration:none}header nav a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:46% 54%;min-height:700px;background:var(--sun);overflow:hidden}.hero-copy{padding:clamp(70px,8vw,130px) 25px clamp(70px,8vw,130px) clamp(25px,7vw,110px);align-self:center}.eyebrow{font:800 .7rem Arial,sans-serif;letter-spacing:.16em}.hero h1{font-size:clamp(4.5rem,7vw,9rem);font-weight:900;letter-spacing:-.11em;line-height:1.16;margin:38px 0 30px;white-space:nowrap}.hero h1 span{color:#a84338}.hero-copy>p:not(.eyebrow){max-width:410px;font-size:.97rem}.hero-copy>a{display:inline-block;margin-top:30px;background:var(--ink);color:white;padding:14px 25px;text-decoration:none;font-weight:800}.hero-copy>a:hover{background:#ae4b3a}.hero-copy small{display:block;margin-top:55px;font:700 .6rem Arial,sans-serif;letter-spacing:.12em}.hero-clock{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;position:relative}.hero-clock:before{content:"";position:absolute;width:110%;aspect-ratio:1;border-radius:50%;background:#ffe0a2a0;right:-22%;top:0}.clock-face{width:min(40vw,590px);aspect-ratio:1;position:relative;z-index:1;border-radius:50%;background:conic-gradient(from -55deg,var(--coral) 0 117deg,#fff5d6 117deg 236deg,var(--mint) 236deg 360deg);box-shadow:0 0 0 13px #fff8e7,0 0 0 18px var(--ink);transition:transform .7s}.clock-face[data-time=noon]{transform:rotate(120deg)}.clock-face[data-time=afternoon]{transform:rotate(240deg)}.clock-inner{position:absolute;inset:17%;border-radius:50%;overflow:hidden;border:9px solid #fff8e7}.clock-inner img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .7s}.clock-face[data-time=noon] .clock-inner img{transform:rotate(-120deg)}.clock-face[data-time=afternoon] .clock-inner img{transform:rotate(-240deg)}.clock-label{position:absolute;font-size:clamp(.85rem,1.5vw,1.3rem);font-weight:900;background:#fff8e7;padding:3px 13px;z-index:2}.clock-label.top{top:5%;left:42%}.clock-label.right{right:4%;top:47%}.clock-label.bottom{bottom:7%;left:42%}.clock-hand{position:absolute;top:50%;left:50%;width:25%;height:4px;background:var(--ink);transform-origin:left center;transform:rotate(-48deg);z-index:2}.clock-hand:before{content:"";position:absolute;left:-8px;top:-6px;width:16px;height:16px;border-radius:50%;background:var(--ink)}.clock-caption{z-index:1;max-width:360px;margin-top:28px;font-size:.72rem;text-align:center}.heading h2,.spaces h2,.about h2{font-size:clamp(3rem,5vw,6rem);letter-spacing:-.09em;line-height:1.25;margin:27px 0}.heading>p:last-child{max-width:560px;font-size:.86rem}.day{padding:clamp(75px,9vw,140px) clamp(20px,6vw,100px);background:#fff9ec}.day .heading{display:grid;grid-template-columns:1fr .7fr;gap:0 30px;align-items:end}.day .heading .eyebrow{grid-column:1/-1}.day-layout{display:grid;grid-template-columns:220px minmax(270px,.8fr) minmax(280px,1fr);margin-top:55px;min-height:520px;background:#f2e8d1}.day-tabs{display:flex;flex-direction:column;background:#e9c9a7}.day-tabs button{border:0;border-bottom:3px solid #fff9ec;background:transparent;text-align:left;padding:24px 18px;cursor:pointer;color:var(--ink);font-weight:900;font-size:1.05rem;min-height:150px}.day-tabs button span{display:block;font:800 .61rem Arial,sans-serif;letter-spacing:.14em;margin-bottom:13px}.day-tabs button[aria-pressed=true]{background:var(--coral);color:#fff8e8}.day-panel{padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;align-items:start}.day-panel>p:first-child{font:800 .65rem Arial,sans-serif;letter-spacing:.15em;color:#9d4f3d}.day-panel h3{font-size:clamp(2rem,2.8vw,3.3rem);line-height:1.28;letter-spacing:-.06em;margin:25px 0}.day-panel>p:not(:first-child){font-size:.86rem}.day-note{background:#fff9ec;padding:18px;margin-top:auto;width:100%;border-left:5px solid var(--coral);font-size:.81rem}.day-note p{margin:7px 0 0}.day-image{overflow:hidden}.day-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.day-image img:hover{transform:scale(1.03)}.spaces{display:grid;grid-template-columns:.82fr 1.18fr;background:var(--mint)}.spaces-copy{padding:clamp(70px,8vw,130px) clamp(25px,6vw,100px);align-self:center}.spaces h2{font-size:clamp(2.6rem,4vw,5rem)}.spaces-copy>p:not(.eyebrow){max-width:500px;font-size:.87rem}.spaces ul{padding:0;list-style:none;margin-top:35px}.spaces li{border-top:2px solid #88ad9e;padding:12px 0;font-size:.83rem;font-weight:700}.spaces li:last-child{border-bottom:2px solid #88ad9e}.spaces-photo{position:relative;min-height:550px}.spaces-photo img{width:100%;height:100%;object-fit:cover;display:block}.spaces-photo span{position:absolute;right:20px;bottom:20px;background:#fff9ec;padding:8px 11px;font:700 .57rem Arial,sans-serif;letter-spacing:.14em}.visit{padding:clamp(80px,9vw,140px) clamp(20px,6vw,100px);background:#fff7e8}.visit .heading{display:grid;grid-template-columns:1fr .75fr;gap:0 30px;align-items:end}.visit .heading .eyebrow{grid-column:1/-1}.visit-layout{display:grid;grid-template-columns:1fr .9fr;gap:6vw;margin-top:55px}.visit-choices{display:grid;grid-template-columns:1fr 1fr;gap:11px;align-content:start}.visit-choices button{background:var(--mint);border:0;text-align:left;padding:20px;min-height:160px;cursor:pointer;color:var(--ink)}.visit-choices button:nth-child(2){background:#f4d0a7}.visit-choices button:nth-child(3){background:#ecd7d0}.visit-choices button:nth-child(4){background:#d5dfb9}.visit-choices button[aria-pressed=true]{box-shadow:inset 0 0 0 4px var(--ink)}.visit-choices span{display:block;font:900 2rem Arial,sans-serif;line-height:1}.visit-choices strong{display:block;font-size:1.05rem;margin:15px 0 5px}.visit-choices small{font-size:.72rem}.visit-memo{align-self:start;background:var(--ink);color:#fff9ec;padding:clamp(28px,4vw,55px);border-radius:0 80px 0 0;min-height:460px}.memo-label{font:700 .64rem Arial,sans-serif;letter-spacing:.14em;color:#f4bb69}.visit-memo h3{font-size:clamp(1.9rem,2.5vw,3rem);letter-spacing:-.06em;margin:30px 0}.visit-memo ul{list-style:none;padding:0;margin:0;min-height:70px}.visit-memo li{border-top:1px solid #879b94;padding:12px 0;font-size:.82rem}.visit-memo li:last-child{border-bottom:1px solid #879b94}.visit-memo #memo-empty{font-size:.84rem}.visit-memo button{border:0;border-bottom:1px solid;background:transparent;color:#fff9ec;padding:7px 0;margin-top:20px;cursor:pointer;font-size:.8rem}.memo-foot{border-top:1px solid #879b94;padding-top:20px;margin-top:30px;font-size:.72rem}.about{padding:clamp(80px,10vw,150px) clamp(20px,6vw,100px);background:var(--coral);color:#fff9ec;display:grid;grid-template-columns:1.2fr .8fr;gap:0 7vw}.about span{grid-column:1/-1;font:800 .67rem Arial,sans-serif;letter-spacing:.14em}.about h2{grid-row:2/4}.about p{max-width:520px;align-self:center;font-size:.85rem}.about a{align-self:start;justify-self:start;background:var(--ink);padding:12px 20px;text-decoration:none;font-weight:800;font-size:.82rem}footer{background:var(--ink);color:#fff9ec;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,6vw,6rem)}.day-layout{grid-template-columns:190px 1fr}.day-image{grid-column:1/-1;height:300px}.day-image img{object-position:center}.clock-face{width:min(42vw,500px)}}@media(max-width:760px){.hero{display:block}.hero-copy{padding:60px 25px 40px}.hero h1{font-size:clamp(4rem,10vw,6rem);margin:25px 0}.hero-copy small{margin-top:30px}.hero-clock{padding:55px 20px}.clock-face{width:min(80vw,440px)}.hero-clock:before{width:95%;right:-22%;top:2%}.day .heading,.visit .heading,.day-layout,.spaces,.visit-layout,.about{grid-template-columns:1fr}.day-tabs{flex-direction:row;overflow-x:auto}.day-tabs button{min-width:135px;min-height:110px;padding:13px;font-size:.85rem;border-right:2px solid #fff9ec;border-bottom:0}.day-panel{min-height:350px}.day-image{grid-column:auto;height:270px}.spaces-photo{min-height:0;height:300px}.visit-memo{border-radius:0 55px 0 0}.about h2{grid-row:auto}footer{display:block}footer a{display:inline-block;margin-top:10px}}@media(max-width:390px){.brand{font-size:1.2rem}.brand small{font-size:.46rem}.back{font-size:.62rem}.hero h1{font-size:3.8rem}.visit-choices{gap:7px}.visit-choices button{min-height:140px;padding:13px}.visit-choices strong{font-size:.9rem}.visit-choices small{font-size:.67rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Japanese line breaks: avoid isolated particles and short endings. */
h1, h2, h3, p { text-wrap: pretty; line-break: strict; }

/* Activity table leads; an inset day dial keeps the existing time interaction visible. */
.hero{position:relative;display:block;min-height:760px;background:var(--mint)}
.hero-clock{position:absolute;inset:0;display:block;padding:0;overflow:hidden}
.hero-clock:before{display:none}
.hero-main-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.87)}
.hero-clock:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#2a443f22,transparent 60%);pointer-events:none}
.clock-face{position:absolute;right:4%;bottom:7%;width:170px;z-index:2;box-shadow:0 0 0 8px #fff8e7,0 0 0 11px var(--ink)}
.clock-inner{inset:17%;border-width:4px}
.clock-label{font-size:.62rem;padding:2px 6px}
.clock-hand{height:2px}
.clock-caption{position:absolute;top:20px;right:22px;z-index:2;margin:0;max-width:260px;background:#fff9ecee;padding:8px 11px;font-size:.66rem}
.hero-copy{position:absolute;z-index:3;left:4.5%;bottom:5%;width:min(52%,650px);padding:35px clamp(25px,4vw,55px);background:#fff9ecf2;box-shadow:13px 13px 0 #2a443f9c}
.hero h1{font-size:clamp(3.3rem,5.2vw,5.9rem);line-height:1.13;letter-spacing:-.08em;margin:15px 0 8px}
.hero h1 span{color:#a84338}
.hero-copy>.hero-phrase{font-size:clamp(1.1rem,1.6vw,1.5rem)!important;font-weight:900;margin:8px 0}
.hero-copy>p:not(.eyebrow):not(.hero-phrase){font-size:.84rem;margin:12px 0}
.hero-copy>a{margin-top:10px}
.hero-copy small{margin-top:15px}
@media(max-width:1100px){.hero{min-height:690px}.hero h1{font-size:clamp(3.2rem,5.3vw,5rem)}.clock-face{width:135px;right:3%;bottom:4%}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;min-height:0}.hero-clock{order:1;position:relative;inset:auto;height:clamp(300px,78vw,440px);flex:none}.hero-copy{order:2;position:relative;left:auto;bottom:auto;width:100%;padding:24px 25px 35px;box-shadow:none}.hero h1{font-size:clamp(3rem,10vw,4.8rem);margin:12px 0}.clock-face{width:108px;right:18px;bottom:18px}.clock-caption{display:none}.hero-copy small{margin-top:20px}}
@media(max-width:390px){.hero-clock{height:clamp(280px,78vw,325px)}.hero h1{font-size:clamp(2.8rem,10vw,3.25rem)}.hero-copy{padding:23px 22px 32px}}
