:root{--paper:#f6f3e9;--ink:#343e33;--green:#647a60;--muted:#777c6e;--line:#d9dacb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:2.1}body:before{content:'';position:fixed;inset:0;opacity:.2;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.2' filter='url(%23n)'/%3E%3C/svg%3E");z-index:10}a{color:inherit;text-decoration:none}button{font:inherit}header{display:flex;align-items:center;justify-content:space-between;padding:24px 4.5%;gap:20px}.brand,.hand,h1,h2{font-family:'Yomogi',cursive}.brand{font-size:24px;line-height:1.5;letter-spacing:.06em}.brand small{display:block;font:8px/2.6 sans-serif;letter-spacing:.2em}nav{display:flex;align-items:center;gap:30px;font-size:12px}nav a:hover{color:var(--green);text-decoration:underline;text-underline-offset:7px}nav button{border:1px solid #969e8b;background:none;border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:11px}.hero{height:660px;min-height:65vh;position:relative;margin:0 28px;color:#fff;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 64%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#18201818,#16201560)}.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;text-shadow:0 2px 16px #17221190}.hero-copy p{font-size:11px;letter-spacing:.32em}.hero h1{font-size:clamp(35px,4.4vw,66px);font-weight:400;letter-spacing:.07em;margin:14px 0 20px}.hero-copy span{font-size:13px;letter-spacing:.17em}.scroll{position:absolute;bottom:28px;left:34px;font-size:9px;letter-spacing:.2em}.hero-note{position:absolute;bottom:26px;right:34px;font-size:11px}.wrap{max-width:1120px;margin:auto;padding:0 32px}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;padding-top:130px;padding-bottom:130px}.painting img{width:100%;mix-blend-mode:multiply}.painting p{text-align:center;font-size:18px;margin-top:16px}.eyebrow{font-size:10px;letter-spacing:.23em;color:var(--green);font-weight:600;margin:0 0 20px}h2{font-size:32px;line-height:1.85;font-weight:400;letter-spacing:.04em;margin:0 0 27px}.intro p:not(.eyebrow){font-size:13px;line-height:2.5}.intro .sign{font-size:21px!important;margin-top:25px}.rooms{background:#e9ecdf70;border-top:1px solid #e4e5d9;border-bottom:1px solid #e4e5d9;padding:96px 0}.section-title{text-align:center;margin-bottom:55px}.section-title h2{margin-bottom:15px}.section-title>p:last-child{font-size:12px;color:#71776a}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.photo{position:relative;background:#fff;padding:9px 9px 30px;box-shadow:0 3px 8px #2c35120b}.photo img{width:100%;height:250px;object-fit:cover;display:block}.photo .private-photo{object-position:75% 70%}.photo span{position:absolute;bottom:7px;left:14px;font-size:9px;letter-spacing:.13em;color:#838675}.tape:after{content:'';width:85px;height:25px;background:repeating-linear-gradient(60deg,#a5b49a98 0 5px,#c0cbb396 5px 9px);position:absolute;top:-12px;left:calc(50% - 42px);transform:rotate(-6deg);clip-path:polygon(2% 0,98% 2%,100% 17%,97% 32%,100% 48%,97% 65%,100% 82%,98% 100%,2% 97%,0 83%,3% 67%,0 50%,3% 30%,0 15%)}.blue:after{background:repeating-linear-gradient(45deg,#a7bfc295 0 4px,#d3dcdb9c 4px 8px);transform:rotate(4deg)}.sand:after{background:repeating-linear-gradient(90deg,#c7ad8b9c 0 1px,#d4c4ab9c 1px 7px)}h3{font-size:16px;font-weight:500;margin:28px 0 10px}.room-grid article>p{font-size:12px;color:#73796c;line-height:2;min-height:48px}.rate{font-size:26px;letter-spacing:.02em;border-bottom:1px solid #cdd2c3;padding:14px 0 18px}.rate span{font-size:11px;margin-left:7px}.room-note{font-size:10px;color:#777e70;margin-top:28px}.amenities{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;padding-top:38px;font-size:12px}.amenities span:before{content:'✓';color:var(--green);margin-right:9px}.access{padding-top:110px;padding-bottom:110px}.access-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.map-paper{position:relative;box-shadow:1px 5px 20px #3440220a;border:1px solid #e8e2d2}.map-paper svg{display:block;width:100%;height:auto}.directions>.hand{font-size:23px}.directions ol{padding:0;list-style:none;counter-reset:steps}.directions li{counter-increment:steps;position:relative;padding:15px 0 15px 40px;border-bottom:1px dashed #cbd0c0;font-size:12px}.directions li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;color:#84947b;font-size:14px}.directions address{font-size:11px;font-style:normal;padding-top:20px}.directions>a{font-size:18px}.small{font-size:10px;color:#7e8375}.faq{padding-top:80px;padding-bottom:110px;border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.4fr;gap:70px}.faq .hand{font-size:17px}.questions details{border-bottom:1px solid var(--line);padding:20px 0}.questions summary{cursor:pointer;list-style:none;padding-right:30px;position:relative;font-size:13px}.questions summary:after{content:'+';position:absolute;right:6px;color:var(--green)}.questions details[open] summary:after{content:'−'}.questions details p{font-size:12px;color:#6d7768;padding:12px 20px 0 0}footer{text-align:center;padding:65px 20px 100px;background:#e5e8da70}footer .brand{font-size:25px}footer p{font-size:12px}footer>a{font-size:11px}footer small{display:block;margin-top:35px;font-size:9px;color:#8a9182}.book{position:fixed;z-index:20;bottom:26px;right:30px;background:#647a60;color:white;display:flex;align-items:center;gap:45px;padding:16px 25px;box-shadow:0 5px 20px #354a2520;clip-path:polygon(1% 0,98% 1%,100% 11%,99% 23%,100% 37%,99% 51%,100% 64%,99% 78%,100% 91%,99% 100%,1% 98%,0 87%,1% 73%,0 61%,1% 48%,0 34%,1% 20%,0 7%);font-size:13px;letter-spacing:.08em}.book:hover{background:#4e654a}.book b{font-size:19px;font-weight:400}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a16a3e;outline-offset:5px}@media(min-width:1500px){.hero{max-width:1500px;margin:auto}}@media(max-width:800px){header{padding:20px 22px}.brand{font-size:20px}.brand small{font-size:6px}nav{gap:12px}nav a{display:none}.hero{margin:0 12px;height:76vh;min-height:520px;max-height:760px}.hero>img{object-position:50% 58%}.hero h1{font-size:33px;letter-spacing:.01em}.hero-copy p{font-size:8px}.hero-copy span{font-size:11px}.hero-note{right:20px;bottom:52px;font-size:9px}.scroll{left:20px;font-size:8px}.wrap{padding-left:25px;padding-right:25px}.about{grid-template-columns:1fr;gap:35px;padding-top:70px;padding-bottom:70px}.painting{max-width:480px;margin:auto}.intro{max-width:500px;margin:auto}.intro p:not(.eyebrow){font-size:13px}h2{font-size:27px}.rooms{padding:65px 0}.section-title{margin-bottom:40px}.section-title>p:last-child{text-align:left}.room-grid{grid-template-columns:1fr;gap:42px;max-width:480px;margin:auto}.photo img{height:290px}.room-grid article>p{min-height:0}h3{margin-top:22px}.amenities{gap:15px 25px}.access{padding-top:70px;padding-bottom:65px}.access-grid{grid-template-columns:1fr;gap:30px}.map-paper{max-width:500px}.faq{grid-template-columns:1fr;gap:20px;padding-top:55px;padding-bottom:65px}.faq h2{margin-bottom:8px}.book{bottom:12px;left:15px;right:15px;justify-content:center;gap:30px;padding:15px 22px;font-size:14px}footer{padding-bottom:120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero>img{object-position:center center}

.access-map{display:block;width:100%;height:auto}.map-paper>a{display:block}

.map-large{width:100%;max-width:850px;margin:0 auto}.access .section-title{margin-bottom:45px}.photo .private-photo{object-position:center}.access{padding-bottom:100px}

.map-large{max-width:1120px}.access-map{width:100%;height:auto}

.four-rooms{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 38px}.room-shot{position:relative;width:100%;aspect-ratio:343/249;overflow:hidden}.photo .room-shot img{position:absolute;width:401.75%;max-width:none;height:auto;left:-2.04%;top:-4.02%;object-fit:initial}.photo .room-shot.mixed img{left:-202.33%}.photo .room-shot.female img{top:-118.07%}.photo .room-shot.standard img{left:-202.33%;top:-118.07%}.booking-rate{font-size:13px;letter-spacing:.02em}@media(max-width:800px){.four-rooms{grid-template-columns:1fr}}

.room-story{max-width:1250px;margin:0 auto;background:#e6ddce;border-radius:0 75px 75px 0;padding:75px 65px}.room-story-inner{display:grid;grid-template-columns:.85fr 1.35fr;gap:75px;max-width:1080px;margin:auto}.room-story-copy{padding-top:55px;align-self:start}.room-story-copy h2{font-size:29px;line-height:1.9;margin-bottom:14px}.room-story-copy>p:not(.eyebrow){font-size:13px;line-height:2.6;max-width:320px;margin:30px 0}.room-story-copy p.hand{font-size:21px;margin-top:40px}.pencil-line{width:185px;height:3px;background:#b59b70;transform:rotate(-1deg);border-radius:70%}.room-story-photos{display:grid;gap:24px}.room-story-photos img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.room-story-photos img:first-child{border-radius:0 22px 0 0;object-position:50% 65%}.room-story-photos img:last-child{border-radius:0 22px 0 0}@media(max-width:800px){.room-story{margin:0 12px;padding:40px 24px;border-radius:0 45px 45px 0}.room-story-inner{grid-template-columns:1fr;gap:28px}.room-story-copy{padding-top:0}.room-story-copy h2{font-size:27px}.room-story-copy>p:not(.eyebrow){max-width:none;margin:22px 0}.room-story-photos{gap:18px}}

.painting img{mix-blend-mode:normal;background:transparent;border:0;box-shadow:none}

.corner-tape{position:absolute;z-index:2;display:block;width:90px;height:28px;background:repeating-linear-gradient(55deg,#a8b69bce 0 5px,#c5cfb8c7 5px 10px);clip-path:polygon(2% 0,98% 2%,100% 15%,97% 30%,100% 48%,98% 65%,100% 83%,98% 100%,2% 97%,0 82%,2% 63%,0 45%,2% 25%,0 10%);pointer-events:none}.corner-tape.tl{top:9px;left:-23px;transform:rotate(-42deg)}.corner-tape.tr{top:9px;right:-23px;transform:rotate(42deg)}.corner-tape.bl{bottom:9px;left:-23px;transform:rotate(42deg)}.corner-tape.br{bottom:9px;right:-23px;transform:rotate(-42deg)}@media(max-width:800px){.corner-tape{width:62px;height:21px}.corner-tape.tl,.corner-tape.bl{left:-16px}.corner-tape.tr,.corner-tape.br{right:-16px}}

@font-face{font-family:BrandBrush;src:url('assets/brand-brush.ttf') format('truetype');font-weight:400;font-display:swap}header .brand>span{font-family:BrandBrush,'Yuji Boku',serif;font-size:30px;letter-spacing:.025em;color:#28291f;line-height:1.4;display:block}html[lang="en"] header .brand>span{font-family:'Yomogi',cursive;font-weight:600;font-size:26px}@media(max-width:800px){header .brand>span{font-size:23px}html[lang="en"] header .brand>span{font-size:20px}}

/* Watercolor footer, synchronized to Japan time. */
.castle-footer{--night:0;--footer-ink:#253f44;--footer-wash:rgba(250,247,237,.78);position:relative;isolation:isolate;overflow:hidden;min-height:530px;display:grid;place-items:center;padding:90px 24px 130px;background:#c4d5dc;color:var(--footer-ink)}
.footer-landscape,.footer-landscape:after,.footer-landscape img{position:absolute;inset:0;width:100%;height:100%}
.footer-landscape{z-index:-1;pointer-events:none}.footer-landscape img{object-fit:cover;object-position:center 55%}.footer-landscape .footer-night{opacity:var(--night)}
.footer-landscape:after{content:'';background:linear-gradient(90deg,transparent,var(--footer-wash) 30%,var(--footer-wash) 63%,transparent)}
.footer-content{max-width:720px;position:relative}.castle-footer .brand{font-size:clamp(25px,3vw,38px);margin:0 0 25px;line-height:1.6}.castle-footer p{font-size:14px;margin-bottom:24px}.castle-footer a{font-size:13px;text-decoration:underline;text-underline-offset:5px}.castle-footer small{color:inherit;opacity:.85;margin-top:65px;font-size:10px;line-height:1.8}
@media(max-width:600px){.castle-footer{min-height:570px;padding:70px 22px 130px}.footer-landscape img{object-position:72% center}.footer-landscape:after{background:linear-gradient(180deg,var(--footer-wash),var(--footer-wash) 55%,transparent)}.castle-footer .brand{font-size:25px}.castle-footer small{max-width:280px;margin:55px auto 0}}
@media(prefers-reduced-motion:reduce){.footer-landscape .footer-night,.footer-content{transition:none}}

.footer-time-ready .footer-night{transition:opacity 60s linear}.footer-time-ready .footer-content{transition:color 60s linear}
@media(prefers-reduced-motion:reduce){.footer-time-ready .footer-night,.footer-time-ready .footer-content{transition:none}}

/* Blend the selected watercolor paper into the page. */
img[src="assets/exterior-watercolor-selected.png"]{mix-blend-mode:multiply}
