#almanak-tokyo .wrap{max-width:1440px;margin:auto;padding:0 clamp(20px,4vw,64px)}
#almanak-tokyo .masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px;border-bottom:1px solid var(--line)}
#almanak-tokyo .brand{display:flex;align-items:center;gap:26px;min-height:44px}
#almanak-tokyo .brand img{width:220px;height:auto}
#almanak-tokyo .eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
#almanak-tokyo .masthead nav{display:flex;gap:28px;font-size:var(--text-sm)}
#almanak-tokyo .masthead nav a{display:flex;align-items:center;min-height:44px}
#almanak-tokyo .masthead nav a[aria-current=page]{border-bottom:2px solid var(--ink)}
#almanak-tokyo .hero{display:grid;grid-template-columns:1.08fr 1fr;gap:50px;padding-top:46px;padding-bottom:52px}
#almanak-tokyo .hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:22px 0}
#almanak-tokyo .hero h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:400;line-height:.98;margin:22px 0 27px;letter-spacing:-.025em}
#almanak-tokyo .hero .lede{font-size:var(--text-lg);max-width:400px;line-height:1.5}
#almanak-tokyo .hero figure{margin:0;position:relative}
#almanak-tokyo .hero figure img{width:100%;height:530px}
#almanak-tokyo figcaption{font-size:var(--text-xs);color:var(--muted);margin-top:10px}
#almanak-tokyo .cta{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:white;padding:15px 21px;min-height:50px;font-size:var(--text-sm);margin-top:30px;border:1px solid var(--ink)}
#almanak-tokyo .cta:hover{background:var(--link);text-decoration:none}
#almanak-tokyo .subline{display:flex;gap:22px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.075em;flex-wrap:wrap}
#almanak-tokyo .intro{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;padding:68px 0}
#almanak-tokyo .display{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.6rem);line-height:1.12;font-weight:400;max-width:580px}
#almanak-tokyo .intro p{max-width:65ch;color:var(--muted)}
#almanak-tokyo .sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
#almanak-tokyo .textlink{font-size:var(--text-sm);border-bottom:1px solid var(--ink);padding:8px 0;display:inline-block}
#almanak-tokyo .features{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
#almanak-tokyo .feature img{width:100%;height:260px}
#almanak-tokyo .feature h3{font-size:var(--text-lg);font-weight:400;margin:9px 0}
#almanak-tokyo .feature .eyebrow{margin-top:18px;color:var(--link)}
#almanak-tokyo .feature p{font-size:var(--text-sm);color:var(--muted)}
#almanak-tokyo .walk-promo{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:80px 0 65px;background:var(--ink);color:var(--paper)}
#almanak-tokyo .walk-promo img{height:430px;width:100%}
#almanak-tokyo .walk-promo .copy{padding:48px;align-self:center}
#almanak-tokyo .walk-promo h2{margin:20px 0}
#almanak-tokyo .walk-promo .copy h2,#almanak-tokyo .walk-promo .copy p,#almanak-tokyo .walk-promo .copy .eyebrow,#almanak-tokyo .walk-promo .copy a,#almanak-tokyo .walk-promo .copy a:visited,#almanak-tokyo .walk-promo .copy a span{color:#fff!important}
#almanak-tokyo .pdf-downloads{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0;margin-bottom:60px}
#almanak-tokyo .pdf-downloads h2{margin:12px 0 18px}
#almanak-tokyo .pdf-downloads p{max-width:660px}
#almanak-tokyo .download-actions{display:flex;flex-wrap:wrap;gap:14px}
#almanak-tokyo .download-actions .cta{margin-top:18px;color:#fff!important}
#almanak-tokyo .walk-promo .cta{border-color:var(--blue);background:transparent}
#almanak-tokyo .categories{display:grid;grid-template-columns:repeat(2,1fr);gap:0 42px;padding-bottom:64px}
#almanak-tokyo .category-link{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:19px 0;font-size:var(--text-lg)}
#almanak-tokyo .category-link span:last-child{font-size:var(--text-sm);color:var(--muted)}
#almanak-tokyo .pagehead{padding:44px 0 28px;max-width:840px}
#almanak-tokyo .pagehead h1{margin:16px 0;font-family:var(--font-display);font-size:clamp(2.8rem,6vw,4.8rem);font-weight:400;line-height:1.08}
#almanak-tokyo .pagehead p{color:var(--muted);max-width:65ch}
#almanak-tokyo .tools{display:grid;grid-template-columns:310px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#almanak-tokyo .search label{display:block;font-size:var(--text-xs);margin-bottom:7px}
#almanak-tokyo .search input{width:100%;padding:12px 14px;border:1px solid var(--muted);border-radius:0;background:transparent;color:var(--ink);height:48px}
#almanak-tokyo .filters{display:flex;gap:4px 10px;flex-wrap:wrap;align-content:center}
#almanak-tokyo .filters button{background:transparent;border:1px solid transparent;min-height:44px;padding:7px 12px;color:var(--ink);font-size:var(--text-sm)}
#almanak-tokyo .filters button[aria-pressed=true]{background:var(--ink);color:white}
#almanak-tokyo .results-count{font-size:var(--text-sm);color:var(--muted);padding:23px 0}
#almanak-tokyo .results{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
#almanak-tokyo .place-card{border-top:1px solid var(--line);padding:23px 0 32px;min-width:0}
#almanak-tokyo .place-card .eyebrow{color:var(--link)}
#almanak-tokyo .place-card h2{font-size:var(--text-lg);line-height:1.3;margin:13px 0}
#almanak-tokyo .place-card p{font-size:var(--text-sm);color:var(--muted);line-height:1.65}
#almanak-tokyo .place-card .textlink{margin-top:15px}
#almanak-tokyo .empty{padding:42px 0;grid-column:1/-1}
#almanak-tokyo .walk-list{padding-bottom:60px}
#almanak-tokyo .walk-row{display:grid;grid-template-columns:70px 1fr 260px 35px;gap:20px;align-items:center;padding:26px 0;border-top:1px solid var(--line)}
#almanak-tokyo .walk-row .number{font-family:var(--font-display);font-size:var(--text-xl);color:var(--link)}
#almanak-tokyo .walk-row h2{font-size:var(--text-lg);margin-bottom:5px}
#almanak-tokyo .walk-row p,#almanak-tokyo .estimate{font-size:var(--text-sm);color:var(--muted)}
#almanak-tokyo .article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(200px,1fr);gap:80px;padding-bottom:75px}
#almanak-tokyo .prose{font-size:var(--text-base);line-height:1.8;overflow-wrap:anywhere}
#almanak-tokyo .prose p{margin-bottom:24px}
#almanak-tokyo .prose a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
#almanak-tokyo .prose ul{margin:30px 0;padding:24px 0 0;border-top:1px solid var(--line);list-style:none;font-size:var(--text-sm)}
#almanak-tokyo .prose li{margin-bottom:16px}
#almanak-tokyo .prose ol{padding-left:24px}
#almanak-tokyo .prose ol li{padding-left:6px;margin-bottom:25px}
#almanak-tokyo .prose h4,#almanak-tokyo .prose h2{font-size:var(--text-lg);margin:30px 0 20px}
#almanak-tokyo .side{border-top:3px solid var(--ink);padding-top:20px}
#almanak-tokyo .side p{font-size:var(--text-sm);color:var(--muted);margin:15px 0 25px}
#almanak-tokyo .side img{width:100%;max-height:330px;margin-bottom:12px}
#almanak-tokyo .route{list-style:none;padding:0}
#almanak-tokyo .route li{position:relative;margin:0;border-left:1px solid var(--line);padding:0 0 22px 24px;margin-left:12px;font-size:var(--text-sm)}
#almanak-tokyo .route span{position:absolute;left:-12px;top:0;background:var(--ink);color:white;width:24px;height:24px;text-align:center;line-height:24px;font-size:var(--text-xs);border-radius:50%}
#almanak-tokyo .route li:last-child{border:0}
#almanak-tokyo .back{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);border-bottom:1px solid var(--line)}
#almanak-tokyo .notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-bottom:65px}
#almanak-tokyo .note-box{padding:24px 0;border-top:1px solid var(--line)}
#almanak-tokyo .note-box h2{font-size:var(--text-lg);margin-bottom:15px}
#almanak-tokyo .note-box p{color:var(--muted)}
#almanak-tokyo details{border-top:1px solid var(--line);padding:20px 0}
#almanak-tokyo summary{cursor:pointer;min-height:44px;font-size:var(--text-lg)}
#almanak-tokyo .credits{font-size:var(--text-sm);padding:25px 0;display:grid;grid-template-columns:1fr 1fr;gap:22px}
#almanak-tokyo .credits a{color:var(--link);text-decoration:underline}
#almanak-tokyo .footer{display:flex;justify-content:space-between;gap:30px;padding:32px 0;border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--muted);margin-top:38px}
#almanak-tokyo .footer a{min-height:44px;display:inline-flex;align-items:center}
#almanak-tokyo .notice{font-size:var(--text-xs);color:var(--muted);padding:16px 0}
#almanak-tokyo{container-type:inline-size;container-name:tokyo-guide}
@container tokyo-guide (max-width:900px){
 #almanak-tokyo .brand .eyebrow{display:none}
 #almanak-tokyo .features,#almanak-tokyo .results{grid-template-columns:1fr 1fr}
 #almanak-tokyo .masthead{gap:16px}
 #almanak-tokyo .hero{gap:28px}
 #almanak-tokyo .article-layout{gap:30px}
}
@container tokyo-guide (max-width:740px){
 #almanak-tokyo .wrap{padding-inline:24px}
 #almanak-tokyo .hero{grid-template-columns:1fr}
 #almanak-tokyo .hero h1{font-size:6.4rem}
 #almanak-tokyo .hero-copy{padding:0}
 #almanak-tokyo .hero figure img{height:330px}
 #almanak-tokyo .hero .lede{font-size:1.125rem}
 #almanak-tokyo .intro,#almanak-tokyo .walk-promo,#almanak-tokyo .tools,#almanak-tokyo .article-layout,#almanak-tokyo .notes-grid{grid-template-columns:1fr}
 #almanak-tokyo .intro{gap:24px}
 #almanak-tokyo .walk-promo img{height:300px}
 #almanak-tokyo .side{order:-1}
 #almanak-tokyo .side.place-aside{order:0}
 #almanak-tokyo .walk-row{grid-template-columns:35px 1fr 20px}
 #almanak-tokyo .walk-row .estimate{grid-column:2;grid-row:2}
 #almanak-tokyo .walk-row .arrow{grid-column:3;grid-row:1}
}
@container tokyo-guide (max-width:580px){
 #almanak-tokyo .masthead{display:block;padding:18px 0 8px;min-height:0}
 #almanak-tokyo .brand img{width:175px}
 #almanak-tokyo .masthead nav{justify-content:space-between;gap:12px;margin-top:9px}
 #almanak-tokyo .results,#almanak-tokyo .categories,#almanak-tokyo .credits{grid-template-columns:1fr}
 #almanak-tokyo .feature img{height:185px}
 #almanak-tokyo .walk-promo .copy{padding:26px}
 #almanak-tokyo .footer{display:block}
}
@media(max-width:1000px){#almanak-tokyo .brand .eyebrow{display:none}#almanak-tokyo .hero{gap:30px}#almanak-tokyo .features{grid-template-columns:1fr 1fr}#almanak-tokyo .results{grid-template-columns:1fr 1fr}#almanak-tokyo .article-layout{gap:35px}#almanak-tokyo .walk-row{grid-template-columns:50px 1fr 170px 20px}}
@media(max-width:640px){#almanak-tokyo .masthead{display:block;padding:18px 0 8px;min-height:0}#almanak-tokyo .brand img{width:175px}#almanak-tokyo .masthead nav{justify-content:space-between;gap:12px;margin-top:9px}#almanak-tokyo .hero{grid-template-columns:1fr;gap:25px;padding-top:28px}#almanak-tokyo .hero-copy{padding:0}#almanak-tokyo .hero figure img{height:290px}#almanak-tokyo .hero h1{font-size:6.4rem;margin:14px 0 20px}#almanak-tokyo .hero .lede{font-size:1.125rem}#almanak-tokyo .intro{grid-template-columns:1fr;gap:23px;padding:43px 0}#almanak-tokyo .features{gap:27px 18px}#almanak-tokyo .feature img{height:185px}#almanak-tokyo .feature h3{font-size:1.125rem}#almanak-tokyo .sectionhead{align-items:start}#almanak-tokyo .walk-promo{grid-template-columns:1fr;margin:50px 0}#almanak-tokyo .walk-promo img{height:270px}#almanak-tokyo .walk-promo .copy{padding:28px}#almanak-tokyo .categories{grid-template-columns:1fr}#almanak-tokyo .tools{grid-template-columns:1fr;gap:18px}#almanak-tokyo .results{grid-template-columns:1fr;gap:0}#almanak-tokyo .walk-row{grid-template-columns:32px 1fr 18px;gap:14px}#almanak-tokyo .walk-row .estimate{grid-column:2;grid-row:2}#almanak-tokyo .walk-row .arrow{grid-column:3;grid-row:1}#almanak-tokyo .article-layout,#almanak-tokyo .notes-grid{grid-template-columns:1fr;gap:30px}#almanak-tokyo .side{order:-1}#almanak-tokyo .side.place-aside{order:0}#almanak-tokyo .side.place-aside img{max-height:230px}#almanak-tokyo .footer{display:block}#almanak-tokyo .credits{grid-template-columns:1fr}}
