*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:#f7f5ef;color:#243b35;font:16px/1.8 -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif}header,main{max-width:980px;margin:auto;padding:24px}header{padding-top:40px}header span{font-size:14px;letter-spacing:.12em}h1{font-size:clamp(26px,5vw,40px);margin:8px 0}h2{font-size:25px;margin:0 0 20px}h3{font-size:18px;margin:0 0 8px}p{margin:8px 0}nav{position:sticky;top:0;z-index:20;background:#203e35;display:flex;justify-content:center;gap:8px;padding:10px}nav a{color:white;text-decoration:none;padding:5px 14px;font-weight:600}section{margin:16px 0 48px}a{color:#226d59;text-underline-offset:4px}button{font:inherit;cursor:pointer;min-height:44px;border:1px solid #cdd8cd;border-radius:8px;background:white;color:#203e35;padding:6px 13px}.notice{padding:18px 20px;background:#e8eddd;border-radius:12px;margin:16px 0}.timeline article{display:grid;grid-template-columns:115px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid #d9ddd2}time{font-weight:750;color:#96623b}details{background:white;padding:17px 20px;margin:12px 0;border-radius:10px}summary{cursor:pointer;font-weight:650}details p{margin-top:16px}.small,footer{font-size:14px;color:#627068}.route{background:white;border-left:4px solid #ae794c;margin:14px 0;padding:22px;border-radius:0 12px 12px 0}.spot{margin:24px 0 36px}.photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.photos img{width:100%;height:220px;object-fit:cover;border-radius:12px}.spot:nth-of-type(2) img{object-fit:contain;background:white}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chips button[aria-pressed=true]{background:#203e35;color:white}#mapcanvas{height:460px;position:relative;overflow:hidden;border-radius:16px;background:#e2e9db;touch-action:pan-y}canvas{display:block;touch-action:none}#pins{position:absolute;inset:0;pointer-events:none;z-index:2}.pin{position:absolute;pointer-events:auto;min-height:36px;padding:2px 9px;font-size:14px;white-space:nowrap;transform:translate(-50%,-100%);background:#203e35;color:white;border:2px solid white;box-shadow:0 2px 6px #0003}.pin.selected{background:#a35627;z-index:5}.maptools{position:absolute;right:10px;top:10px;z-index:3;display:flex;gap:5px}.credit{position:absolute;bottom:4px;left:8px;z-index:3;background:#ffffffdf;padding:2px 6px;font-size:11px}#selection a{display:inline-block;margin:8px 16px 0 0;font-weight:bold}footer{padding-bottom:32px}@media(max-width:600px){header,main{padding:20px}nav{gap:0;padding:8px 3px}nav a{padding:6px 12px;font-size:15px}.timeline article{grid-template-columns:76px 1fr;gap:12px}time{font-size:14px}.photos img{height:140px}#mapcanvas{height:390px}h2{font-size:23px}.route{padding:17px}}.pin{border-radius:50%;width:32px;height:32px;min-height:32px;padding:0;transform:translate(-50%,-50%)}.pin.selected{outline:3px solid #edb789}.pin:nth-child(1){transform:translate(-50%,-140%)}.pin:nth-child(2){transform:translate(-120%,0)}.pin:nth-child(4){transform:translate(-60%,-110%)}.pin:nth-child(5){transform:translate(0,0)}
/* Travel guide refinement */
:root{--ink:#203e35;--paper:#f7f5ef;--gold:#a87845}body{letter-spacing:.025em}header{padding-top:48px;padding-bottom:0}header .trip-date{font-size:12px;font-weight:700;letter-spacing:.18em;color:#67776b}h1{font-size:clamp(36px,6vw,56px);line-height:1.28;letter-spacing:-.035em;margin:18px 0 14px}h1 .title-org{font:600 clamp(18px,3vw,24px)/1.5 -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.01em}.trip-theme{font-size:14px;color:#687367;margin-bottom:25px}.cover-strip{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;height:205px;overflow:hidden;margin:28px 0 0;border-radius:16px 16px 0 0}.cover-strip img{width:100%;height:100%;object-fit:cover}.cover-strip img:first-child{object-position:50% 57%}nav{box-shadow:0 3px 12px #203e3510;padding:12px;gap:20px}nav a{font-size:14px;letter-spacing:.05em}main{padding-top:36px}section{margin-bottom:60px}h2{font-size:24px;letter-spacing:-.02em;padding-bottom:14px;border-bottom:1px solid #d9ddd2}h3{line-height:1.6;font-weight:650}.notice{border-radius:8px;background:#e9eddf;padding:20px 22px;line-height:1.9}.timeline{margin-top:26px}.timeline article{grid-template-columns:130px 1fr;position:relative;gap:30px;padding:24px 0;border-bottom:1px solid #e0e2d8}.timeline time{font-size:15px;letter-spacing:0;font-variant-numeric:tabular-nums;color:#8a5a31}.timeline article div{border-left:2px solid #d9dfd0;padding-left:24px}.timeline article p{color:#5a695e;margin-top:6px;line-height:1.85}.route{border-left:3px solid #a87845;box-shadow:0 2px 10px #203e3504;padding:24px;margin:18px 0}.route h3{font-size:17px}.route p{line-height:2}.small{line-height:1.8}details{border:1px solid #e1e5db;background:transparent}summary{font-size:15px}.chips{gap:8px;margin:18px 0}.chips button{border-radius:24px;font-size:14px;padding:8px 16px;border-color:#d7dfd1}.spot{background:#fff;padding:0 0 24px;border-radius:14px;overflow:hidden;border:1px solid #e5e7df;margin:26px 0}.spot .photos{gap:4px;margin-bottom:20px}.spot .photos img{border-radius:0;height:250px}.spot>h3,.spot>p,.spot>strong,.spot>a{margin-left:24px;margin-right:24px}.spot>strong{display:block;font-size:16px;color:#96623b}.spot>a{display:inline-block;margin-top:8px;font-size:14px}.spot>h3{font-size:22px}footer{border-top:1px solid #d9ddd2;padding-top:24px}#mapcanvas{border:1px solid #dce1d5}#selection{background:white;border:1px solid #dce1d5}#selection a{font-size:14px}
@media(max-width:600px){header{padding-top:30px}.cover-strip{height:135px;margin-top:22px}nav{gap:0;justify-content:space-around;padding:10px 3px}nav a{font-size:13px;padding:5px 10px}main{padding-top:28px}h2{font-size:21px}h1{font-size:38px}.timeline article{grid-template-columns:76px 1fr;gap:12px;padding:22px 0}.timeline article div{padding-left:15px}.timeline time{font-size:13px}.timeline h3{font-size:17px}.timeline p{font-size:15px}.notice{padding:17px;font-size:15px}.spot .photos img{height:150px}.spot>h3,.spot>p,.spot>strong,.spot>a{margin-left:18px;margin-right:18px}.spot>h3{font-size:20px}.route{padding:18px}.route p{font-size:15px}section{margin-bottom:44px}#mapcanvas{height:340px}}

header.compact-header{padding:18px 24px;text-align:center}header.compact-header .trip-date{font-size:14px;letter-spacing:.06em;color:#203e35}nav{padding:8px 12px}main{padding-top:24px}@media(max-width:600px){header.compact-header{padding:14px 20px}nav{padding:8px 3px}}

.route-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap;margin-bottom:22px}.route-heading h3{margin:0}.duration{font-size:13px;font-weight:650;color:#756044;background:#f5f1e7;padding:3px 10px;border-radius:5px;white-space:nowrap}.route-steps{list-style:none;margin:0;padding:0;counter-reset:steps}.route-steps li{position:relative;margin-left:13px;border-left:2px solid #dce3d7;padding:0 0 24px 26px;counter-increment:steps}.route-steps li:last-child{padding-bottom:0;border-color:transparent}.route-steps li:before{content:counter(steps);position:absolute;left:-14px;top:0;width:26px;height:26px;border-radius:50%;background:#e7eddf;text-align:center;line-height:26px;font-size:13px;color:#294637;font-weight:700}.route-steps strong,.route-steps span{display:block}.route-steps strong{font-size:17px;line-height:1.7;margin:4px 0}.route-steps .mode{font-size:13px;font-weight:650;color:#8b6038}.step-detail{font-size:14px;color:#5a6b5e}.route .route-note{font-size:14px;margin:22px 0 0;padding:12px 14px;background:#f5f2e9;border-radius:6px;line-height:1.8}@media(max-width:600px){.route-steps strong{font-size:16px}.route-steps li{padding-left:23px}.route-heading{gap:8px}}

.route-steps li{--line:#aeb7ac;border-left:4px solid var(--line);padding-left:24px;margin-left:12px;padding-bottom:28px}.route-steps li:before{content:"";width:14px;height:14px;left:-9px;top:5px;border:3px solid var(--line);background:#fff}.route-steps .higashi{--line:#c59000}.route-steps .meijo{--line:#8262ad}.route-steps .sakura{--line:#b34b62}.route-steps .bus{--line:#23866c}.route-steps .walk{border-left-style:dotted}.rail .step-detail,.bus .step-detail{display:inline-block;margin-top:4px;padding:3px 9px;border-radius:4px;background:#f0edf6;color:#59417a;font-weight:600;font-size:13px}.higashi .step-detail{background:#fbf1d3;color:#755700}.sakura .step-detail{background:#f8e9ed;color:#963e54}.bus .step-detail{background:#e4f2eb;color:#20664e}.route-steps strong{font-size:18px;letter-spacing:-.02em}.route-steps .mode{color:#617064;font-size:12px}.route{border-left:0;border:1px solid #dfe4d9;box-shadow:none}.route-heading{border-bottom:1px solid #e3e6dd;padding-bottom:16px}.route-note{border-left:3px solid #cba467}@media(max-width:600px){.route-steps strong{font-size:17px}}
/* Quiet, editorial finish */
body{background:#f5f4ef;color:#263e35;-webkit-font-smoothing:antialiased}header.compact-header{background:#193d32;padding:16px 24px}header.compact-header .trip-date{color:#e9eee6;font-size:12px;letter-spacing:.13em}nav{background:#fffdf7f5;border-bottom:1px solid #e4e6db;box-shadow:0 4px 20px #263e3505;backdrop-filter:blur(18px);gap:14px}nav a{color:#4c6051;font-weight:600;padding:9px 18px;border-radius:6px}nav a:hover,nav a:focus-visible{background:#eaf0e4;color:#193d32}main{max-width:920px;padding-top:38px}h2{display:flex;align-items:center;gap:14px;font-size:23px;border-bottom:0;margin-bottom:24px;padding-bottom:0}h2:after{content:'';height:1px;background:#dce1d3;flex:1}.timeline{background:#fffef9;border:1px solid #e4e7db;border-radius:16px;padding:0 26px;overflow:hidden;box-shadow:0 8px 28px #34452b04}.timeline article{gap:22px;padding:26px 0}.timeline article:last-child{border-bottom:0}.timeline time{color:#856b42;font-size:14px;font-weight:750}.timeline article div{border-left:1px solid #e3e8da;padding-left:26px}.timeline h3{font-size:18px;letter-spacing:-.025em}.timeline article p{font-size:14px;color:#64725f;line-height:1.85}.timeline article:nth-child(3),.timeline article:nth-child(5),.timeline article:last-child{background:linear-gradient(90deg,#f4f5eb90,transparent);margin:0 -26px;padding-left:26px;padding-right:26px}.route{border-radius:14px;background:#fffef9;border:1px solid #e2e6d8;padding:26px;box-shadow:0 8px 24px #34452b03}.route-heading h3{font-size:17px}.route-heading{padding-bottom:18px;margin-bottom:24px}.duration{background:#edeedf;color:#64704d;border:1px solid #e4e6d4;font-size:12px}.route .route-note{background:#f2f1e7;border-left-width:2px;color:#706b53;font-size:13px}details{border:1px solid #dfe4d6;border-radius:9px;padding:15px 18px;background:#fafaf4}summary{font-size:14px;color:#536548}.spot{border:1px solid #e0e4d7;box-shadow:0 8px 28px #34452b05;border-radius:15px;background:#fffef9;padding-bottom:26px}.spot .photos{grid-template-columns:1.4fr 1fr;gap:3px;margin-bottom:22px}.spot .photos img{height:260px}.spot>h3{font-size:22px;letter-spacing:-.025em;margin-bottom:6px}.spot>strong{font-size:15px;color:#8a6b40}.spot>p{font-size:14px;color:#65715e;line-height:1.9;margin-top:12px}.spot>a{font-size:13px;color:#375c43}.spot:nth-of-type(2) .photos{grid-template-columns:1fr}.spot:nth-of-type(2) .photos img{height:auto;max-height:230px;object-fit:contain}.spot:nth-of-type(2) .photos img+img{display:none}#mapcanvas{border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #34452b06}.chips button{border:1px solid #dce2d2;background:#fffef9;min-height:40px;font-size:13px}.chips button[aria-pressed=true]{background:#254d3d;border-color:#254d3d;box-shadow:0 3px 9px #254d3d18}#selection{border-radius:10px;background:#fffef9;padding:17px 20px}.notice{border:1px solid #e0e4d5;background:#edf0e2;font-size:15px}footer{font-size:12px;color:#7b8573;line-height:1.9}section{margin-bottom:54px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9d8350;outline-offset:4px}@media(max-width:600px){main{padding:28px 18px}nav{gap:0;padding:5px 4px}nav a{padding:9px 14px;font-size:13px}h2{font-size:21px;margin-bottom:20px}.timeline{padding:0 17px;border-radius:12px}.timeline article{grid-template-columns:68px 1fr;gap:10px;padding:22px 0}.timeline time{font-size:12px;line-height:1.8}.timeline article div{padding-left:14px}.timeline h3{font-size:16px}.timeline article p{font-size:13px}.timeline article:nth-child(3),.timeline article:nth-child(5),.timeline article:last-child{margin:0 -17px;padding-left:17px;padding-right:17px}.route{padding:20px 17px}.route-heading h3{font-size:16px}.spot .photos img{height:170px}.spot>h3{font-size:20px}.spot>p{font-size:14px}#selection{font-size:14px}.chips{gap:7px}.chips button{padding:7px 13px}.notice{font-size:14px}section{margin-bottom:42px}}

header .compact-title{font-size:16px;font-weight:650;line-height:1.6;letter-spacing:.02em;color:#f4f5ed;margin:0 0 5px}header.compact-header .trip-date{font-size:11px;opacity:.8}

header.nagoya-hero{max-width:none;height:310px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:36px max(24px,calc((100% - 872px)/2));background:linear-gradient(90deg,#112b38a6,#112b3810),url('photos/nagoya.jpg') center 64%/cover;text-align:left}header.nagoya-hero .compact-title{font-size:36px;line-height:1.35;margin:0 0 12px;text-shadow:0 2px 15px #0004}header.nagoya-hero .compact-title span{font-size:17px;letter-spacing:.06em}header.nagoya-hero .trip-date{font-size:12px;color:white;opacity:.95}.golf-landscape{height:260px;overflow:hidden;position:relative;margin-bottom:22px;background:#e5eadb}.golf-landscape img{position:absolute;max-width:none!important;width:205%!important;height:auto!important;right:0;top:50%;transform:translateY(-50%)}.spot a.phone{display:inline-block;border:1px solid #dce2d1;padding:7px 12px;border-radius:6px;text-decoration:none;margin-top:12px;font-size:13px}.photo-credit{margin-bottom:10px;font-size:11px}@media(max-width:600px){header.nagoya-hero{height:235px;padding:24px 22px;background-position:55% 62%}header.nagoya-hero .compact-title{font-size:30px}header.nagoya-hero .compact-title span{font-size:15px}.golf-landscape{height:210px}.spot a.phone{margin-left:18px;margin-right:0}}

header.nagoya-hero{background:linear-gradient(90deg,#102d2abf,#102d2a05),url('photos/castle.jpg') center 24%/cover;height:330px}.golf-landscape{height:320px}.golf-landscape img{position:static;width:100%!important;height:100%!important;transform:none;object-fit:cover;object-position:center 47%}@media(max-width:600px){header.nagoya-hero{height:260px;background-position:60% 15%;background-size:cover}.golf-landscape{height:250px}}
/* Nagoya: kinshachi gold, copper-green roofs, warm plaster */
:root{--ink:#243c35;--paper:#f7f3e9;--gold:#b68b2e}body{background:#f7f3e9;color:#263b34}nav{background:#fffcf3f5;border-bottom:2px solid #bd923c}nav a{color:#344b40}nav a:hover,nav a:focus-visible{background:#f2e7c9;color:#73561e}header.nagoya-hero{border-bottom:4px solid #c39a42}.trip-date{color:#f3dfaa!important}.timeline,.route,.spot,#selection{background:#fffdf7;border-color:#e8dfc9}.timeline time,.spot>strong{color:#92691f}.timeline article{border-bottom-color:#e8e0ce}.timeline article div{border-left-color:#e4d9be}.timeline article:nth-child(3),.timeline article:nth-child(5),.timeline article:last-child{background:linear-gradient(90deg,#f4ead090,transparent)}h2:after{background:#dccca7}.duration{background:#f4e9cc;color:#775a22;border-color:#e9d9ae}.notice{background:#f2ead8;border-color:#e5d7b6}.route .route-note{background:#f7f0df;border-left-color:#bd923c;color:#74603a}details{background:#fbf8ef;border-color:#e3d8bf}.chips button{background:#fffdf6;border-color:#dfd0ac}.chips button[aria-pressed=true]{background:#a67c25;border-color:#a67c25;color:#fff;box-shadow:0 3px 9px #a67c251e}.spot a.phone{border-color:#ded0af;background:#fcf8ec}a{color:#3a5b48}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#b68b2e}footer{border-color:#ded1b3}

.route-map{display:flex;align-items:center;justify-content:center;margin-top:18px;min-height:44px;padding:10px 16px;background:#f2e7c9;border:1px solid #dec996;border-radius:7px;color:#72551b;font-size:14px;font-weight:650;text-decoration:none}.route-map:hover{background:#eaddb7}

.return-transit{margin:18px 0 0;background:transparent}.return-transit summary span{font-size:12px;font-weight:400;margin-left:8px;color:#7c735d}.return-transit[open] summary{margin-bottom:22px}.return-transit .route-steps{margin-top:8px}

.spot:nth-of-type(2) .photos.golf-photos{grid-template-columns:1.4fr 1fr}.spot:nth-of-type(2) .photos.golf-photos img{display:block;width:100%;height:260px;max-height:none;object-fit:cover}.spot:nth-of-type(2) .photos.golf-photos img+img{display:block}@media(max-width:600px){.spot:nth-of-type(2) .photos.golf-photos img{height:170px}}

.spot h3 a{color:inherit;text-decoration:underline;text-decoration-color:#c8b88c;text-decoration-thickness:1px;text-underline-offset:5px}.spot h3 a:hover{color:#92691f}
