*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:#182e43;font:19px/1.7 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:#765619}header{max-width:1080px;margin:auto;padding:30px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #dfe4e8}.wordmark{font:24px Georgia,serif;text-decoration:none;white-space:nowrap}nav{display:flex;gap:25px;flex-wrap:wrap}nav a{font-size:16px;text-decoration:none}main{max-width:840px;margin:auto;padding:0 40px}section{padding:55px 0;border-bottom:1px solid #dfe4e8}.intro{padding:65px 0 55px}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.25;margin:0 0 20px}h1{font-size:64px;margin-bottom:32px}h2{font-size:35px}h3{font-size:24px;margin-bottom:10px}p{margin:0 0 18px}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:bold;color:#755b2c;margin-bottom:15px}.experience{border-left:3px solid #ba9855;padding:4px 0 4px 24px}.experience h2{font:22px Georgia,serif;margin-bottom:10px}.experience p{margin:0;min-height:60px;white-space:pre-line}.placeholder{color:#596b78;font-style:italic}.route{font-size:17px;color:#536575}.route span{color:#967238;padding:0 8px}.itinerary{list-style:none;margin:28px 0 18px;padding:0}.itinerary li{display:grid;grid-template-columns:95px 1fr;gap:24px;align-items:center;border-bottom:1px solid #e5e9ec;padding:15px 0}.date{font-size:17px;font-weight:bold}.date small{display:block;font-size:13px;font-weight:normal;color:#5f6f7c}.note{font-size:15px;color:#526371;margin:20px 0 0}.weather-focus{background:#f1f5f8;padding:30px;display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center}.weather-focus strong{display:block;font:38px Georgia,serif;white-space:nowrap}.season{display:block;font-size:15px;margin-bottom:12px}.celsius{font-size:23px}.weather-focus p{margin:0;font-size:18px}details{margin-top:20px}summary{cursor:pointer;padding:10px 0;min-height:48px;font-size:17px}details p{font-size:17px}.tips-list{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px;margin-top:30px}.tips-list p,.pillars p{font-size:18px;margin:0}.pillars{display:grid;grid-template-columns:1fr 1fr;gap:35px 40px;margin-top:30px}.abbreviation{font-size:13px;font-weight:bold;letter-spacing:2px;color:#765b28;display:block;margin-bottom:10px}footer{max-width:840px;padding:30px 40px 45px;margin:auto;font-size:14px;color:#5b6b78}footer span{color:#182e43}footer p{margin:8px 0 0}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:10px}:focus-visible{outline:3px solid #b48a3c;outline-offset:5px}button,input,textarea{font:inherit}@media(max-width:720px){header{padding:22px 24px;display:block}nav{gap:10px 22px;margin-top:14px}nav a{font-size:15px;min-height:35px;display:flex;align-items:center}main{padding:0 24px}section{padding:38px 0}.intro{padding:42px 0}h1{font-size:48px}h2{font-size:30px}.weather-focus{grid-template-columns:1fr;padding:24px;gap:20px}.tips-list,.pillars{grid-template-columns:1fr;gap:26px}.itinerary li{grid-template-columns:70px 1fr;gap:15px}footer{padding:25px 24px}.route{line-height:2}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.other-seasons{margin-top:24px}.other-seasons h3{font-size:23px}.other-seasons p{font-size:17px}

.whatsapp{display:inline-block;background:#182e43;color:#fff;text-decoration:none;padding:12px 22px;border-radius:3px}.whatsapp:hover{background:#284860;color:#fff}
/* Ink, washi and vermilion: a quiet Japanese travel journal. */
:root{--paper:#faf8f2;--ink:#172e3a;--red:#a43f32;--gold:#9a783c;--line:#dcd7cb}body{background:var(--paper);color:var(--ink);font-size:1.1875rem}header{max-width:1280px;padding:24px 40px;border-color:var(--line)}.wordmark{display:flex;align-items:center;gap:12px}.wordmark:before{content:"";display:block;width:13px;height:13px;border-radius:50%;background:var(--red)}nav{gap:8px 22px}nav a{font-size:1rem;padding:8px 0}main{max-width:1120px}section{padding:72px 0;border-color:var(--line)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif}h2{font-size:2.5rem;letter-spacing:-.025em}h3{font-size:1.5rem}.eyebrow{color:#815d32;font-size:.8125rem;letter-spacing:.17em}.welcome{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding:54px 0 64px}.welcome h1{font-size:clamp(2.75rem,4.5vw,4rem);line-height:1.14;letter-spacing:-.045em;margin:26px 0}.welcome h1 em{font-weight:normal;color:var(--red)}.welcome-copy>p:not(.eyebrow){max-width:310px;color:#52616a}.journey-link{display:inline-flex;gap:32px;align-items:center;margin-top:20px;padding:12px 0;border-bottom:1px solid var(--gold);font-size:1.0625rem;text-decoration:none}.welcome-photo{margin:0;position:relative;width:min(100%,300px);justify-self:center}.welcome-photo img{display:block;width:100%;height:320px;object-fit:cover;object-position:center 46%}.welcome-photo figcaption{display:flex;align-items:center;gap:18px;font-size:.75rem;letter-spacing:.13em;margin-top:12px}.welcome-photo figcaption span{font-family:serif;font-size:1.5rem;color:var(--red);letter-spacing:.2em}.intro{padding:64px 0}.eric-name{margin-bottom:34px}.intro-layout{display:grid;grid-template-columns:180px 1fr;gap:36px;align-items:start}.portrait{margin:0}.portrait img{width:100%;height:auto;display:block;border:5px solid #fff;box-shadow:0 2px 12px #172e3a0d}.portrait figcaption{font-size:.875rem;color:#59656a;margin-top:10px}.experience{border-left:1px solid var(--gold);padding:0 0 0 28px}.experience h2{font-size:1.4rem}.experience p{font-size:1.125rem}.route{font-size:1.125rem}.itinerary{columns:2;column-gap:50px}.itinerary li{break-inside:avoid;grid-template-columns:65px 1fr;gap:15px;padding:15px 0;align-items:start;border-color:var(--line)}.date{font-size:1rem;color:#8d392e}.itinerary li>span:last-child{font-size:1.0625rem}.weather-focus{background:#eeeae0;border-top:2px solid var(--gold);padding:34px}.weather-focus strong{font-size:2.6rem}.tips-list{gap:38px 56px}.tips-list article{border-top:1px solid var(--line);padding-top:22px}.pillars{gap:36px 52px}.abbreviation{color:var(--red);font-size:.875rem}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px;margin-top:26px}.photo-grid figure{margin:0;min-width:0}.photo-grid img{display:block;width:100%;height:210px;object-fit:contain;background:#eeebe3;padding:8px;border:1px solid var(--line)}.photo-grid figcaption{font-size:.9375rem;margin-top:10px;color:#52616a}.gallery-intro{color:#52616a}.note{font-size:.9375rem}#contact{padding:46px 40px;margin-top:36px;background:var(--ink);color:var(--paper);border:0}#contact .eyebrow{color:#dfc695}#contact h2{font-size:2.2rem}.whatsapp{background:#e4cf9e;color:#172e3a}.whatsapp:hover{background:#f1dfb9;color:#172e3a}footer{max-width:1120px;padding-top:35px}.skip:focus{z-index:10}a:hover{color:var(--red)}#contact a:not(.whatsapp):hover{color:#e4cf9e}
@media(max-width:850px){header{display:block}nav{margin-top:12px}.welcome{gap:30px}.welcome-photo img{height:300px}.intro-layout{grid-template-columns:180px 1fr;gap:28px}.itinerary{columns:1}}
@media(max-width:600px){header{padding:20px 24px}main{padding:0 24px}nav{gap:3px 18px}nav a{min-height:44px}.welcome{grid-template-columns:1fr;gap:28px;padding:35px 0 40px}.welcome h1{font-size:2.9rem;margin:18px 0}.welcome-copy>p:not(.eyebrow){max-width:none}.journey-link{margin-top:3px}.welcome-photo{width:220px;justify-self:start}.welcome-photo img{height:235px}.intro-layout{grid-template-columns:1fr;gap:28px}.portrait{max-width:160px}.experience{padding-left:20px}section,.intro{padding:44px 0}h2{font-size:2rem}.photo-grid{grid-template-columns:1fr 1fr;gap:22px 14px}.photo-grid img{height:160px;padding:5px}.photo-grid figcaption{font-size:.875rem}.weather-focus{padding:24px}.tips-list,.pillars{gap:28px}#contact{padding:32px 24px}.route span{padding:0 3px}}

/* Subtle shippo-inspired overlapping circles, kept outside reading areas. */
body{background-color:var(--paper);background-image:radial-gradient(circle at 0 50%,transparent 21px,#9a783c12 21px,#9a783c12 22px,transparent 22px),radial-gradient(circle at 100% 50%,transparent 21px,#9a783c12 21px,#9a783c12 22px,transparent 22px);background-size:44px 44px}
header,main,footer{background-color:var(--paper)}
section{position:relative}
#about:after,#photos:after{content:"";position:absolute;right:0;top:18px;width:86px;height:44px;pointer-events:none;opacity:.28;background-image:radial-gradient(circle at 0 50%,transparent 20px,var(--gold) 20px,var(--gold) 21px,transparent 21px),radial-gradient(circle at 100% 50%,transparent 20px,var(--gold) 20px,var(--gold) 21px,transparent 21px);background-size:42px 42px}
.welcome-photo:before{content:"";position:absolute;inset:-10px 10px 48px -10px;border-top:1px solid var(--gold);border-left:1px solid var(--gold);pointer-events:none}
#contact{overflow:hidden;background-image:repeating-linear-gradient(45deg,transparent,transparent 15px,#dfc69506 15px,#dfc69506 16px)}
@media(max-width:600px){#about:after,#photos:after{width:64px;height:24px;top:8px;opacity:.18}.photo-grid{gap:20px 12px}}
@media(max-width:360px){.photo-grid{grid-template-columns:1fr}.photo-grid img{height:180px}}

/* Compact photographs: explicit final limits at every viewport size. */
.welcome{grid-template-columns:minmax(0,1fr) 150px;gap:32px;padding:32px 0}
.welcome h1{font-size:clamp(2rem,3.5vw,3rem);margin:16px 0}
.welcome-photo{width:135px;max-width:100%;justify-self:end}
.welcome-photo img{width:135px;height:180px;max-height:180px;object-fit:contain}
.welcome-photo figcaption{font-size:.75rem;letter-spacing:.03em;gap:8px;flex-wrap:wrap}
.welcome-photo figcaption span{font-size:1rem}
.intro-layout{grid-template-columns:110px minmax(0,1fr);gap:24px}
.portrait{width:105px;max-width:105px}
.portrait img{width:105px;height:140px;max-height:140px;object-fit:contain;border-width:2px}
.photo-grid{grid-template-columns:repeat(3,minmax(0,160px));gap:20px 24px;max-width:528px}
.photo-grid img{width:160px;height:110px;max-height:110px;object-fit:contain;padding:3px}
.photo-grid figcaption{font-size:.875rem;line-height:1.4;margin-top:6px}
@media(max-width:600px){.welcome{grid-template-columns:minmax(0,1fr) 105px;gap:16px}.welcome h1{font-size:2rem}.welcome-photo{width:105px}.welcome-photo img{width:105px;height:140px}.welcome-photo figcaption{font-size:.75rem}.intro-layout{grid-template-columns:1fr;gap:18px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.photo-grid img{width:100%;height:90px}.photo-grid figcaption{font-size:.875rem}}
@media(max-width:400px){.welcome{grid-template-columns:1fr}.welcome-photo{justify-self:start}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Decorative Japanese seal lettering and a restrained floral accent. */
.japan-corner{position:absolute;right:4px;top:22px;pointer-events:none;user-select:none;line-height:1;display:flex;align-items:center;justify-content:center}
.corner-seal{width:38px;height:44px;border:1px solid #a43f32;outline:1px solid #a43f3266;outline-offset:3px;color:#a43f32;font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:26px;transform:rotate(-5deg);opacity:.82}
.corner-flower{font-family:Georgia,serif;font-size:58px;color:#a43f32;opacity:.65;top:10px}
#photos:after{right:58px;top:22px;width:84px;opacity:.32}
#about:after{opacity:.4}
@media(max-width:600px){.japan-corner{top:9px;right:2px}.corner-seal{width:24px;height:28px;font-size:19px;outline-offset:2px}.corner-flower{font-size:38px;top:1px}#photos:after{right:38px;top:9px;width:44px;height:24px}.eyebrow{padding-right:34px}}

/* A compact, manually operated photo album. */
.photo-grid.album-ready{display:block;width:190px;max-width:100%;height:168px;margin:26px 0 0;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--gold);background:#fffdf8;box-shadow:3px 4px 0 #e6dfd1;perspective:700px}
.photo-grid.album-ready figure{margin:0;transform-origin:left center;backface-visibility:hidden}
.photo-grid.album-ready figure[hidden]{display:none}
.photo-grid.album-ready img{width:160px;height:110px;max-height:110px;padding:0;border:0;background:#fffdf8;object-fit:contain}
.photo-grid.album-ready figcaption{font-size:.875rem;line-height:1.35;margin-top:8px}
.album-controls{display:flex;align-items:center;justify-content:space-between;width:190px;max-width:100%;margin-top:14px;gap:12px}
.album-controls button{width:44px;height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;cursor:pointer;font-size:1.25rem}
.album-controls button:hover{border-color:var(--red);color:var(--red);background:#f2eae1}
.album-controls span{font-size:.9375rem;color:#52616a;font-variant-numeric:tabular-nums}

/* Slightly larger album with an accessible autoplay control. */
.photo-grid.album-ready{width:240px;height:211px;padding:12px 14px}
.photo-grid.album-ready img{width:208px;height:150px;max-height:150px!important}
.album-controls{width:240px;gap:8px;flex-wrap:wrap}
.album-controls .album-pause{width:auto;min-width:65px;padding:0 10px;border-radius:4px;font-size:.875rem}

/* Larger album, constrained to the available mobile width. */
.photo-grid.album-ready{width:560px;max-width:100%;height:auto;min-height:0;padding:20px 24px}
.photo-grid.album-ready img{width:100%;height:auto;aspect-ratio:208/150;max-height:360px!important;object-fit:contain}
.photo-grid.album-ready figcaption{font-size:1rem;line-height:1.45;min-height:2.9em;margin-top:12px}
.album-controls{width:560px;max-width:100%}
@media(max-width:600px){.photo-grid.album-ready{padding:14px 16px}}

/* Small decorative Japanese accents, kept clear of the reading area. */
.japan-accent{position:absolute;right:8px;top:14px;display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none;color:var(--red);line-height:1}
.accent-flower{font:48px/1 Georgia,serif;opacity:.7}
.accent-temple{font:40px/1 'Hiragino Kaku Gothic ProN','Arial Unicode MS',serif;color:#947039;opacity:.85}
.accent-seal{width:32px;height:36px;border:1px solid var(--red);font:24px/1 'Hiragino Mincho ProN','Yu Mincho',serif;transform:rotate(5deg);opacity:.75}
.heading-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:9px;border:1px solid #9a783c66;color:#8c392f;font:19px/1 'Hiragino Mincho ProN','Yu Mincho',serif;vertical-align:2px}
#about:after{right:72px}
#contact .japan-accent{color:#dfc695;right:24px;top:24px}
.footer-flower{display:inline-block;margin-right:12px;color:var(--red);font-size:26px;vertical-align:middle}
@media(max-width:600px){.japan-accent{right:2px;top:7px}.accent-flower{font-size:30px}.accent-temple{font-size:28px}.accent-seal{width:23px;height:26px;font-size:18px}#about:after{right:42px;width:42px}#contact .japan-accent{right:16px;top:16px}}

/* Japanese emblem confined to the opening section, above its divider. */
.welcome{isolation:isolate;overflow:hidden}
.welcome:before{content:"";position:absolute;inset:8px 0 8px 0;background:url('images/japan-emblem.png') center center / auto 100% no-repeat;opacity:.17;z-index:-1;pointer-events:none}
.welcome-copy,.welcome-photo{position:relative}
@media(max-width:600px){.welcome:before{background-position:center center;background-size:contain;opacity:.14}}
