:root{--ink:#524a3c;--wine:#843d31;--paper:#f4f0e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#e9e3d5;color:var(--ink);font-family:TabiSerif,serif}.paper-page{max-width:1180px;margin:auto;background:var(--paper) url('assets/paper.webp') repeat;background-size:700px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--wine);outline-offset:5px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 6%;position:relative;z-index:3}.brand{display:flex;gap:10px;align-items:center;font-size:29px;font-weight:600}.brand img{border-radius:50%;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:400;margin-top:3px}header nav{display:flex;gap:26px;align-items:center;font-size:12px}header nav button{font-size:12px;border-bottom:1px solid #9a8069;padding:8px 0}.hero{height:675px;position:relative;isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;mask-image:linear-gradient(#000 84%,transparent)}.season-stamp{position:absolute;right:5%;top:15px;display:flex;gap:4px}.season-stamp span{background:#75362ace;color:#f5e4c9;border:1px solid #e1c7aa;padding:4px;font-size:15px;line-height:1.2}.hero-title{position:absolute;right:13%;top:120px;color:white;text-shadow:0 2px 20px #0009}.hero-title>p{font-size:12px;letter-spacing:4px;margin:0 0 17px}.hero-title h1{font-size:clamp(40px,5vw,66px);line-height:1.35;font-weight:600;letter-spacing:1px;margin:0}.hero-title h1 span{padding-left:60px}.hero-title h1 em{padding-left:120px;font-style:normal}.vertical{writing-mode:vertical-rl;background:#fffaf0;padding:12px 9px;color:#746450;font-size:13px;letter-spacing:2px;line-height:1.5;box-shadow:2px 3px 0 #9f927444}.vertical span{margin-top:18px;font-size:10px;letter-spacing:2px}.hero-label{position:absolute;right:6%;top:170px}.hero-bottom{position:absolute;left:7%;right:7%;bottom:60px;display:flex;justify-content:space-between;color:#fff;font-size:11px;text-shadow:0 1px 4px #000}.postcards{position:relative;min-height:820px;margin-top:-65px;z-index:2;padding:0 6%}.section-intro{position:absolute;left:9%;top:300px}.section-intro>span{font-size:11px;color:var(--wine);letter-spacing:3px}.section-intro p{font-size:22px;line-height:1.8}.postcard{position:absolute;background:#f7f2dc;padding:12px 12px 30px;box-shadow:2px 5px 10px #5b4b382b;border:1px solid #cec0a0;text-align:left;transition:transform .4s,box-shadow .4s}.postcard:hover{transform:rotate(0) translateY(-7px);box-shadow:3px 13px 22px #5b4b3840;z-index:4}.postcard>img{width:100%;height:100%;object-fit:cover}.postcard small{position:absolute;bottom:9px;left:13px;font-size:9px;letter-spacing:1px}.postcard .vertical{position:absolute;right:-17px;top:20%;font-size:12px;padding:12px 7px}.castle{left:7%;top:0;width:30%;height:250px;transform:rotate(-9deg)}.waterfall{left:35%;top:100px;width:34%;height:290px;transform:rotate(2deg);z-index:2}.ryokan{right:5%;top:20px;width:29%;height:260px;transform:rotate(-3deg)}.lake{left:9%;top:485px;width:28%;height:245px;transform:rotate(-3deg)}.postcard-note{position:absolute;left:47%;top:480px;right:8%;border-top:1px solid #bfb29e;padding-top:25px}.postcard-note>span{font-size:11px;letter-spacing:3px;color:var(--wine)}blockquote{font-size:24px;line-height:1.9;margin:25px 0}.postcard-note>p{font-size:11px;color:#8a806d}.journey{display:grid;grid-template-columns:1fr 1.3fr;gap:65px;padding:25px 8% 70px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--wine)}h2{font-size:35px;line-height:1.45;font-weight:600;margin:15px 0 25px}.journey-heading>p:last-child{font-size:12px;line-height:1.9}.day-tabs{display:flex;border-bottom:1px solid #a9957b}.day-tabs button{flex:1;padding:12px 5px;font-size:14px;border:1px solid transparent;border-bottom:0}.day-tabs button[aria-selected=true]{border-color:#a9957b;background:#e7dfcf}.itinerary article{border:1px solid #a9957b;border-top:0;padding:25px;min-height:305px}#day-kicker{font-size:10px;letter-spacing:2px;color:#9b6d52}.itinerary h3{font-size:21px;line-height:1.6}.itinerary article p{font-size:12px;line-height:1.9}.itinerary ul{font-size:11px;line-height:2;padding-left:17px}.route-note{font-size:10px;color:#887c6a;line-height:1.8}.travel-notes{margin:0 8%;padding:40px 0;border-top:1px solid #b9ac98;border-bottom:1px solid #b9ac98;display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.travel-notes h3{font-size:22px;margin:0 0 25px}.travel-notes dl{font-size:12px}.travel-notes dl>div{display:flex;gap:25px;margin:17px 0}.travel-notes dt{color:#947257;white-space:nowrap}.travel-notes dd{margin:0}.travel-notes p{font-size:13px;line-height:1.9}.inquiry-link{font-size:13px;padding:10px 0;border-bottom:1px solid #947257;color:var(--wine)}.inquiry-link span{margin-left:30px}.closing{position:relative;text-align:center;padding:70px 6% 125px;overflow:hidden}.closing>img{position:absolute;bottom:-35px;left:0;width:100%;height:160px;object-fit:cover;object-position:center;pointer-events:none}.closing>p{font-size:12px;letter-spacing:4px}.closing h2{font-size:33px}.closing>button{border:1px solid #8f6651;padding:12px 40px;color:var(--wine);font-size:13px;position:relative;z-index:2}.closing>button:hover{background:#843d31;color:white}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 6%;border-top:1px solid #c4b8a5;font-size:9px}footer .brand{font-size:23px}footer>div{display:flex;gap:13px}footer button{font-size:9px;padding:0}footer>p{font-size:10px}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:30}.skip:focus{top:0}dialog{background:var(--paper) url('assets/paper.webp');background-size:600px;color:var(--ink);border:1px solid #baaa90;width:min(740px,92vw);max-height:92svh;padding:30px}dialog::backdrop{background:#272117c9}.close{display:block;margin:0 0 20px auto;font-size:12px;border-bottom:1px solid;padding:5px 0}dialog p{font-size:13px;line-height:1.9}#gallery{width:min(940px,94vw)}#gallery-image{width:100%;max-height:56svh;object-fit:contain}.gallery-caption{position:relative;padding:15px 0}.gallery-caption>span{float:right;font-size:10px;margin-top:12px}.gallery-caption h2{font-size:24px;margin:0 0 10px}.gallery-caption p{margin:0;font-size:12px}.gallery-controls{display:flex;justify-content:space-between;border-top:1px solid #c4b8a5;padding-top:14px}.gallery-controls button{font-size:12px}form{display:grid;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:grid;gap:8px;font-size:12px}input,textarea,select{background:#fffdf6;border:1px solid #bdb099;padding:11px;width:100%;min-width:0}textarea{resize:vertical}.submit{background:var(--wine);color:white;padding:14px;font-size:13px}[role=status]{color:var(--wine);font-size:12px}@media(max-width:900px){header{padding:22px 5%}.hero{height:570px}.hero-title{right:12%;top:130px}.hero-title h1{font-size:46px}.hero-title h1 span{padding-left:35px}.hero-title h1 em{padding-left:65px}.hero-label{right:4%}.castle{height:210px}.waterfall{height:250px}.ryokan{height:210px}.section-intro{top:280px}.lake{top:430px;height:220px}.postcard-note{top:420px}blockquote{font-size:20px}.postcards{min-height:710px}.journey{gap:30px;padding:20px 7% 55px}.journey h2{font-size:29px}.travel-notes{gap:30px}footer{flex-wrap:wrap}}@media(max-width:600px){header{padding:20px 6%;gap:10px}.brand{font-size:25px;gap:7px}.brand img{width:34px;height:34px}.brand small{font-size:8px;letter-spacing:1px}header nav{gap:12px;font-size:10px}header nav>a:nth-child(2){display:none}header nav button{font-size:10px}.hero{height:600px}.hero-photo{object-position:38% center}.season-stamp{right:6%;top:10px;gap:3px}.season-stamp span{font-size:12px;padding:3px}.hero-title{left:7%;right:auto;top:130px}.hero-title>p{font-size:10px;letter-spacing:2px}.hero-title h1{font-size:39px;line-height:1.55}.hero-title h1 span{padding-left:20px}.hero-title h1 em{padding-left:40px}.hero-label{top:345px;right:8%;font-size:11px;padding:10px 7px}.hero-bottom{bottom:65px;font-size:9px}.postcards{margin-top:-40px;min-height:1090px;padding:0}.castle{left:8%;width:65%;height:200px;top:0;transform:rotate(-7deg)}.waterfall{left:auto;right:8%;top:235px;width:70%;height:235px;transform:rotate(3deg)}.ryokan{left:8%;right:auto;top:510px;width:63%;height:190px;transform:rotate(-4deg)}.lake{left:auto;right:8%;top:750px;width:61%;height:185px;transform:rotate(4deg)}.postcard{padding:8px 8px 25px}.postcard small{font-size:8px;left:9px;bottom:8px}.postcard .vertical{font-size:10px;right:-13px;padding:10px 6px}.postcard .vertical span{font-size:9px}.section-intro{top:170px;left:8%;z-index:3}.section-intro>span{font-size:9px;background:var(--paper);padding:4px}.section-intro p{display:none}.postcard-note{left:8%;right:8%;top:980px;padding-top:15px}.postcard-note>span{font-size:9px}.postcard-note blockquote{font-size:14px;margin:12px 0;line-height:1.7}.postcard-note blockquote br{display:none}.postcard-note>p{font-size:9px;margin-top:10px}.journey{display:block;padding:50px 8% 35px}.journey h2{font-size:31px}.journey-heading>p:last-child{font-size:12px;margin-bottom:30px}.itinerary article{padding:22px;min-height:300px}.itinerary h3{font-size:20px}.travel-notes{display:block;padding:30px 0;margin:0 8%}.travel-notes>div+div{border-top:1px solid #c4b8a5;padding-top:25px;margin-top:25px}.travel-notes h3{font-size:22px;margin-bottom:20px}.travel-notes dl{font-size:11px}.travel-notes dl>div{gap:15px}.closing{padding:45px 7% 100px}.closing h2{font-size:27px}.closing>img{height:100px;bottom:-15px}.closing>p{font-size:11px;letter-spacing:2px}footer{padding:25px 8%;gap:18px}footer>p{font-size:9px}footer>div{width:100%}footer>span{font-size:9px}.form-row{grid-template-columns:1fr;gap:17px}dialog{padding:22px}dialog h2{font-size:27px}}@media(max-width:350px){.hero-title h1{font-size:33px}.hero-title h1 em{padding-left:30px}.brand small{display:none}.brand{font-size:23px}header nav{gap:9px;font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-width:600px){.section-intro{display:none}}

