@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');
:root{--ink:#1d1d1a;--muted:#65645e;--paper:#f4f1ea;--card:#fff;--line:#d9d4c9;--pine:#183a32;--moss:#647358;--sake:#b33c30;--gold:#bd8b42;--shadow:none;--radius:2px}
*{box-sizing:border-box}body{font-family:'DM Sans',system-ui,sans-serif;background:var(--paper);color:var(--ink)}.wrap{width:min(1240px,calc(100vw - 48px))}.topbar{background:rgba(244,241,234,.95);border-bottom:1px solid #cfc9bc;backdrop-filter:blur(12px)}.nav{padding:18px 0}.brand{font-family:'Newsreader',serif;font-size:21px;font-weight:600;letter-spacing:-.01em}.mark{width:34px;height:34px;border-radius:50%;background:var(--sake);font-family:'Newsreader',serif;font-size:17px}.links{gap:22px;font-size:13px;font-weight:600}.links a{border-bottom:1px solid transparent;padding:7px 0}.links a:hover{border-color:var(--sake);color:var(--sake)}
.hero{padding:0}.hero-grid{min-height:720px;grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:0;align-items:stretch}.hero-grid>div:first-child{display:flex;flex-direction:column;justify-content:center;padding:72px 72px 72px 0}.eyebrow{display:block;background:none;border:0;border-radius:0;padding:0;color:var(--sake);font-size:12px;letter-spacing:.16em}.hero h1{font-family:'Newsreader',serif;font-size:clamp(58px,6.7vw,98px);font-weight:500;line-height:.88;letter-spacing:-.052em;margin:24px 0 28px}.lead{font-size:18px;line-height:1.68;color:#51504b;max-width:600px}.btn{border-radius:0;padding:14px 19px;font-size:13px;letter-spacing:.02em}.btn.gold{background:var(--sake);border-color:var(--sake);color:white}.btn.secondary{border-color:#77736b;color:var(--ink)}.hero-card{border:0;border-radius:0;box-shadow:none;background:#1f332e;position:relative}.hero-art{height:100%;min-height:720px;background:url('photos/kyoto-fushimi-inari.webp') center/cover no-repeat}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(14,20,18,.76))}.mountain,.steam{display:none}.hero-card-body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:32px;color:white}.mini-grid{grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.55);gap:0}.mini{background:none;border:0;border-radius:0;padding:18px 18px 0 0}.mini b{font-family:'Newsreader',serif;font-size:31px}.mini span{color:#f1eee7;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.section{padding:88px 0;border-top:1px solid var(--line)}.section h2{font-family:'Newsreader',serif;font-size:clamp(40px,5vw,66px);font-weight:500;letter-spacing:-.04em}.section-intro{font-size:17px;line-height:1.7}.trust{gap:0;border-top:1px solid var(--ink);margin-top:40px}.trust div{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;padding:24px 24px 4px 0;margin-right:24px}.trust b{font-family:'Newsreader',serif;font-size:22px;font-weight:500}.cards{gap:22px}.card{border-radius:0;box-shadow:none;background:#faf8f3}.photo{height:265px;background-size:cover;background-position:center;background-image:url('photos/hokkaido-winter.webp')}.card:nth-child(2) .photo{background-image:url('photos/tokyo-night.webp')}.card:nth-child(3) .photo{background-image:url('photos/kyoto-gion.webp')}.photo:after{display:none}.card-body{padding:25px}.tag,.pill,.eyebrow{border-radius:0}.tag{background:none;border:0;border-left:3px solid var(--sake);padding:2px 0 2px 9px;color:var(--sake);text-transform:uppercase;letter-spacing:.08em}.card h3{font-family:'Newsreader',serif;font-size:31px;font-weight:500}.linkbtn{border-radius:0;text-align:left;border:0;border-top:1px solid var(--ink);padding:13px 0}.linkbtn:hover{background:none;color:var(--sake)}
.panel,.table,.map-card{border-radius:0;box-shadow:none;background:#faf8f3}.highlight{border-radius:0;box-shadow:none;background:var(--pine);padding:42px}.split{gap:34px}.tool-grid{gap:18px}.tool-card{border-radius:0;min-height:180px;background:#faf8f3;padding:22px;transition:transform .2s ease,background .2s ease}.tool-card:hover{transform:translateY(-4px);box-shadow:none;background:white}.tool-card b{font-family:'Newsreader',serif;font-size:24px;font-weight:500}.dir-card img{border-radius:0;border:0;aspect-ratio:16/11}.map-embed{border-radius:0;box-shadow:none}.map-card{padding:28px}.map-truth,.map-actions a{border-radius:0}.row{padding:20px}.steps{border-top:1px solid var(--ink)}.step{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:20px 0}.num{border-radius:50%;background:var(--sake)}.footer{background:var(--pine);color:#d8ded9;padding:48px 0}.footer a{color:white}.photo-credit{font-size:11px;color:var(--muted);margin-top:18px}.photo-credit a{color:inherit}
.image-credit{display:block;margin:8px 0 12px;color:var(--muted);font-size:10px;line-height:1.35}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.route-grid article{background:#faf8f3;border:1px solid var(--line);padding:0 0 22px}.route-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.route-grid h3{font-family:'Newsreader',serif;font-size:29px;font-weight:500;margin:14px 22px 10px}.route-grid ol{margin:0 22px 12px 42px;padding:0;color:#51504b;line-height:1.55}.route-grid .tag{margin:20px 22px 0;display:inline-block}.route-grid .note{margin:10px 22px 0}
@media(max-width:900px){.route-grid{grid-template-columns:1fr 1fr}.wrap{width:min(100% - 32px,1240px)}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-grid>div:first-child{padding:64px 0}.hero-card{margin-left:-16px;margin-right:-16px}.hero-art{min-height:520px}.hero h1{font-size:clamp(58px,17vw,84px)}.trust{grid-template-columns:1fr 1fr}.tool-grid,.cards{grid-template-columns:1fr 1fr}.links{display:none}}
@media(max-width:600px){.route-grid{grid-template-columns:1fr}.wrap{width:calc(100% - 28px)}.hero-grid>div:first-child{padding:48px 0}.hero h1{font-size:54px}.hero-art{min-height:430px}.hero-card-body{padding:20px}.mini-grid{grid-template-columns:1fr}.mini:nth-child(n+2){display:none}.section{padding:64px 0}.trust,.tool-grid,.cards{grid-template-columns:1fr}.trust div{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:20px 0}.split{grid-template-columns:1fr}.highlight{padding:28px}.planner-grid,.estimate-grid{grid-template-columns:1fr}.map-embed{height:500px}}
