﻿:root{--red:#c8102e;--deep-red:#8f0d24;--ink:#241a17;--paper:#fffaf4;--cream:#f3e8d8;--gold:#b8893b;--muted:#756760}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 8% 4%, #c8102e0f, transparent 22rem), repeating-linear-gradient(45deg, #8f0d2405 0 1px, transparent 1px 13px), var(--paper);margin:0;font-family:Noto Sans JP,system-ui,sans-serif}img{max-width:100%}a{color:inherit}button{font:inherit}.site-header{z-index:50;color:#fff;background:linear-gradient(90deg,#8f0d24fa,#c8102ef0);border-bottom:2px solid #ffffffdb;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(20px,4vw,64px);display:flex;position:fixed;inset:0 0 auto;box-shadow:0 4px 24px #49000d2e}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand__mark{width:38px;height:38px;color:var(--red);letter-spacing:.08em;background:#fff;border-radius:50% 50% 50% 6px;place-items:center;font-size:12px;font-weight:900;display:grid}.brand b,.brand small{line-height:1.1;display:block}.brand b{letter-spacing:.22em;font-size:15px}.brand small{letter-spacing:.18em;opacity:.78;margin-top:5px;font-size:8px}.nav{align-items:center;gap:24px;display:flex}.nav>a{font-size:13px;font-weight:700;text-decoration:none;position:relative}.nav>a:after{content:"";background:#fff;height:1px;transition:all .2s;position:absolute;inset:auto 0 -8px;transform:scaleX(0)}.nav>a:hover:after{transform:scaleX(1)}.languages{border-left:1px solid #ffffff59;gap:4px;padding-left:16px;display:flex}.languages button{color:#fff;cursor:pointer;opacity:.58;background:0 0;border:0;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:700}.languages button.is-active{color:var(--red);opacity:1;background:#fff}.menu-button{color:#fff;background:0 0;border:0;display:none}.hero{color:#fff;background:var(--deep-red);height:56vh;min-height:420px;position:relative;overflow:hidden}.hero__image{object-fit:cover;object-position:center;filter:saturate(.86)contrast(1.06);width:100%;height:100%;position:absolute;inset:0}.hero__wash{background:linear-gradient(90deg,#320808c7 0%,#45040c6e 48%,#1c080426 75%),linear-gradient(#0000 55%,#50000c6b);position:absolute;inset:0}.hero__content{z-index:1;flex-direction:column;justify-content:center;align-items:flex-start;max-width:1180px;height:100%;margin:auto;padding:48px 42px;display:flex;position:relative}.hero__eyebrow{letter-spacing:.34em;margin:0 0 26px;padding-left:54px;font-size:10px;font-weight:700;position:relative}.hero__eyebrow:before{content:"";background:#fff;width:38px;height:1px;position:absolute;top:50%;left:0}.hero h1{letter-spacing:.05em;text-shadow:0 3px 30px #00000047;margin:0;font-family:Noto Sans JP,sans-serif;font-size:clamp(36px,5.5vw,68px);line-height:1.18}.hero h1 span{display:block}.hero__lead{letter-spacing:.08em;margin:34px 0 0;font-family:Noto Sans JP,sans-serif;font-size:clamp(14px,1.5vw,18px);line-height:2.1}.hero__date{letter-spacing:.3em;margin-top:22px;font-size:10px;font-weight:700}.hero__scroll{z-index:2;letter-spacing:.24em;flex-direction:column;align-items:center;gap:8px;font-size:9px;text-decoration:none;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.hero__scroll span{background:linear-gradient(#fff,#0000);width:1px;height:40px;display:block}.route-intro{text-align:center;max-width:800px;margin:auto;padding:110px 30px 120px}.section-kicker,.chapter__header>p,.day__header>p{color:var(--red);letter-spacing:.3em;margin:0 0 18px;font-size:10px;font-weight:900}.route-intro h2{margin:0;font-family:Noto Sans JP,sans-serif;font-size:clamp(28px,4vw,46px)}.route-intro>p:last-child{max-width:620px;color:var(--muted);margin:38px auto 0;font-family:Noto Sans JP,sans-serif;font-size:15px;line-height:2.2}.route{color:var(--deep-red);letter-spacing:.18em;justify-content:center;align-items:center;gap:18px;margin:42px auto 0;font-size:11px;font-weight:900;display:flex}.route i{background:linear-gradient(90deg, var(--gold), #b8893b33);width:clamp(28px,8vw,82px);height:1px}.chapter{padding:0 0 110px}.chapter--jogja{background:linear-gradient(#f3e8d8a6,#fffaf480)}.chapter--bali{background:linear-gradient(#c8102e09,#fffaf400)}.chapter__header{text-align:center;color:#fff;background:var(--deep-red);padding:108px 30px 92px;position:relative;overflow:hidden}.chapter__header:before,.chapter__header:after{content:"";border:1px solid #ffffff24;position:absolute;transform:rotate(45deg)}.chapter__header:before{width:260px;height:260px;top:-130px;left:-130px}.chapter__header:after{width:180px;height:180px;bottom:-90px;right:-90px}.chapter--bali .chapter__header{background:linear-gradient(120deg,#9e1027,#d01635)}.chapter__header>p{color:#ffffffa6}.chapter__header h2{letter-spacing:.12em;margin:0;font-family:Noto Sans JP,sans-serif;font-size:clamp(42px,7vw,74px)}.chapter__header span{letter-spacing:.12em;opacity:.8;margin-top:14px;font-family:Noto Sans JP,sans-serif;font-size:13px;display:block}.day{max-width:1180px;margin:0 auto;padding:104px 32px 0}.day__header{text-align:center;max-width:760px;margin:0 auto 56px}.day__header h3{letter-spacing:.04em;margin:0;font-family:Noto Sans JP,sans-serif;font-size:clamp(26px,4vw,42px)}.day__rule{background:var(--red);width:38px;height:2px;margin:24px auto}.day__summary{color:var(--muted);margin:0;font-family:Noto Sans JP,sans-serif;font-size:15px;line-height:2.05}.stops{gap:92px;display:grid}.stop__header{border-bottom:1px solid #8f0d242e;align-items:flex-end;gap:16px;margin:0 0 28px;padding:0 0 16px;display:flex}.stop__header>span{color:#c8102e4d;font-family:Noto Sans JP,sans-serif;font-size:34px;font-weight:700;line-height:1}.stop__header p{color:var(--gold);letter-spacing:.25em;margin:0 0 3px;font-size:8px;font-weight:900}.stop__header h4{letter-spacing:.04em;margin:0;font-family:Noto Sans JP,sans-serif;font-size:clamp(20px,2.6vw,30px)}.photo-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:46px 24px;display:grid}.photo-card{grid-column:span 4;min-width:0;margin:0}.photo-card--0,.photo-card--4{grid-column:span 6}.photo-card__frame{background:#e5d8cb;position:relative;overflow:hidden;box-shadow:0 10px 35px #3d21191c}.photo-card__frame img{object-fit:contain;width:100%;height:auto;max-height:620px;transition:transform .5s;display:block}.photo-card:hover img{transform:scale(1.015)}.photo-card__number{color:#fff;letter-spacing:.15em;background:#660011c7;padding:3px 7px;font-size:8px;font-weight:700;position:absolute;bottom:8px;right:9px}.photo-card figcaption{padding:15px 0 0;position:relative}.photo-card__place{color:var(--red);letter-spacing:.04em;margin:0 0 7px;font-size:9px;font-weight:700}.photo-card__description{margin:0;font-family:Noto Sans JP,sans-serif;font-size:13px;line-height:1.65}.day-story{max-width:780px;margin:0 auto;font-size:16px;line-height:2.15}.day-story>p{margin:0 0 28px}.day-story strong{color:var(--deep-red);font-weight:800}.story-photo{margin:26px 0 34px}.story-photo img{object-fit:contain;background:#eadfd3;width:100%;height:auto;max-height:760px;display:block;box-shadow:0 12px 38px #3d211924}.story-photo figcaption{padding:10px 2px 0}.story-photo figcaption p{color:var(--red);margin:0;font-size:12px;font-weight:800}.story-photo figcaption span{color:var(--muted);font-size:13px}.story-photo-group{margin:26px 0 36px}.story-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.story-photo-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.story-photo-grid--vertical{grid-template-columns:1fr;gap:18px}.story-photo-grid img{object-fit:contain;background:#eadfd3;width:100%;height:auto;display:block;box-shadow:0 8px 24px #3d21191f}.story-photo-group figcaption{color:var(--red);margin-top:10px;font-size:12px;font-weight:800}.empty-language{min-height:55vh}.footer{text-align:center;background-color:#8f0d24;width:100%;margin:0;padding:18px 20px;color:#fff!important;display:block!important}.footer p{letter-spacing:.04em;margin:0;font-size:12px;font-weight:500;display:block;color:#fff!important}@media (max-width:720px){.site-header{height:64px;padding:0 18px}.brand__mark{width:34px;height:34px}.brand b{font-size:13px}.menu-button{gap:6px;padding:10px;display:grid}.menu-button span{background:#fff;width:24px;height:1px;display:block}.nav{background:var(--deep-red);align-items:stretch;gap:0;padding:24px;display:none;position:absolute;inset:64px 0 auto;box-shadow:0 12px 20px #00000029}.nav--open{display:grid}.nav>a{border-bottom:1px solid #ffffff26;padding:14px 4px}.languages{border:0;margin-top:18px;padding:0}.languages button{font-size:11px}.hero{height:92svh;min-height:620px}.hero__image{object-position:44% center}.hero__content{justify-content:flex-end;padding:116px 24px 90px}.hero h1{font-size:clamp(32px,10vw,46px)}.hero__lead{margin-top:24px;font-size:13px}.hero__date{margin-top:24px}.route-intro{padding:82px 22px 90px}.route{letter-spacing:.08em;gap:8px;font-size:8px}.chapter{padding-bottom:60px}.chapter__header{padding:78px 20px 68px}.chapter__header h2{letter-spacing:.07em;font-size:38px}.day{padding:76px 16px 0}.day__header{text-align:left;margin-bottom:38px;padding:0 7px}.day__rule{margin:20px 0}.day__summary{font-size:14px}.photo-grid{display:block}.stops{gap:70px}.stop__header{margin-bottom:24px}.stop__header>span{font-size:28px}.stop__header h4{font-size:21px}.photo-card{margin:0 0 44px}.photo-card__frame{box-shadow:none;margin:0 -16px}.photo-card__frame img{object-fit:contain;width:100%;max-height:none}.photo-card figcaption{padding:14px 34px 0 3px}.photo-card__description{font-size:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-card__frame img{transition:none}}.site-header{height:auto;padding:0;display:block;position:sticky}.header-top{justify-content:space-between;align-items:center;min-height:64px;padding:10px clamp(18px,4vw,60px);display:flex}.language-toggle{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff6;border-radius:999px;justify-content:space-between;align-items:center;width:68px;height:24px;padding:2px 4px;font-size:8px;font-weight:800;display:flex;position:relative;overflow:hidden}.language-toggle>span{z-index:2;text-align:center;width:18px;position:relative}.language-toggle__knob{z-index:1;background:#ffffff47;border-radius:999px;width:20px;height:18px;transition:transform .2s;position:absolute;top:2px;left:3px}.language-toggle__knob--id{transform:translate(21px)}.language-toggle__knob--en{transform:translate(41px)}.day-nav{background:#6705184d;border-top:1px solid #ffffff2e;grid-template-columns:repeat(6,1fr);gap:7px;padding:6px clamp(14px,4vw,60px) 7px;display:grid}.day-nav button{color:#ffffffa6;cursor:pointer;background:0 0;border:1px solid #ffffff38;border-radius:999px;min-width:0;padding:10px 8px 11px;transition:background .2s,color .2s}.day-nav button:hover,.day-nav button.is-active{color:#fff;background:#ffffff26}.day-nav button.is-active{border-color:#ffffffb8;box-shadow:inset 0 0 0 1px #ffffff29}.day-nav b,.day-nav span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.day-nav b{letter-spacing:.12em;opacity:.72;font-size:8px;font-weight:700}.day-nav span{letter-spacing:.06em;opacity:1;margin-top:3px;font-size:11px;font-weight:800}.day-view{max-width:1180px;margin:0 auto;padding:34px 32px 54px;scroll-margin-top:116px;animation:.35s ease-out day-in}@keyframes day-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.day-view__header{text-align:left;background-color:#a30f2c;background-image:linear-gradient(125deg,#8f0d24,#c8102e);max-width:900px;margin:0 auto 24px;padding:22px 36px 20px;position:relative;overflow:hidden;box-shadow:0 10px 28px #62061929;color:#fff!important}.day-view__header:before{content:"";border:1px solid #fff3;width:180px;height:180px;position:absolute;top:-88px;right:-72px;transform:rotate(45deg)}.day-view__header:after{content:"";border:16px double #ffffff17;width:90px;height:90px;position:absolute;bottom:-66px;right:34px;transform:rotate(45deg)}.day-view__header>*{z-index:1;position:relative}.day-view__header>p:first-child{color:#ffffffb8;letter-spacing:.25em;margin:0 0 5px;font-size:9px;font-weight:900}.day-view__area{color:var(--deep-red);letter-spacing:.14em;background:#fff;border-radius:999px;margin-bottom:12px;padding:4px 10px;font-size:8px;font-weight:800;display:inline-block}.day-view__header h2{letter-spacing:.06em;margin:0;font-size:clamp(32px,5vw,52px);line-height:1.18;color:#fff!important}.day-view__header h3{letter-spacing:.06em;margin:5px 0 0;font-size:clamp(14px,2vw,19px);font-weight:500;color:#fff!important}.day-view__header .day__rule{opacity:.72;background:#fff;width:32px;margin:16px 0 0}@media (max-width:720px){.site-header{height:auto;padding:0}.header-top{min-height:58px;padding:8px 14px}.day-nav{grid-template-columns:repeat(3,1fr);gap:5px 6px;padding:6px 12px 8px;display:grid;overflow:visible}.day-nav button{padding:6px 4px 7px}.day-nav b{font-size:7px}.day-nav span{font-size:10px}.hero{height:50vh;min-height:340px}.hero__content{padding:32px 24px}.day-view{padding:18px 0 34px;scroll-margin-top:136px}.day-view__header{margin:0 12px 18px;padding:18px 20px 16px}.day-view__header h2{font-size:34px}.day-view__header .day__rule{margin:13px 0 0}.day-story{padding:0 16px;font-size:15px;line-height:2}.story-photo{margin:22px -16px 30px}.story-photo figcaption{padding:12px 18px 0}.story-photo-group{margin:22px -16px 30px}.story-photo-grid,.story-photo-grid--3{grid-template-columns:1fr 1fr;gap:6px}.story-photo-grid--vertical{grid-template-columns:1fr;gap:12px}.story-photo-group figcaption{padding:0 16px}}
