/* ALMANAK Kyoto guide, 1.0.0: styled after the October 2026 iPad edition */
#almanak-kyoto .wrap{max-width:1280px;margin:0 auto;background:#fff}
#almanak-kyoto .eyebrow{display:block;font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
#almanak-kyoto .title{font-size:clamp(28px,3.2vw,36px);line-height:1.12;font-weight:400;color:var(--blue);letter-spacing:-.005em}
#almanak-kyoto .title a{color:inherit}
#almanak-kyoto .subtitle{font-size:clamp(19px,2vw,22px);line-height:1.25;font-weight:300;color:var(--blue);margin-top:8px}
#almanak-kyoto .copy p{font-size:17px;line-height:1.5;color:var(--ink);margin-top:14px;max-width:62ch}
#almanak-kyoto .copy p:first-child{margin-top:0}
#almanak-kyoto .caption{font-size:11px;line-height:1.35;color:var(--slate);text-align:right;margin-top:5px}

/* Masthead and footer */
#almanak-kyoto .masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px var(--gutter);border-bottom:1px solid var(--band)}
#almanak-kyoto .brand img{width:118px;height:auto}
#almanak-kyoto .masthead nav{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:flex-end}
#almanak-kyoto .masthead nav a{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);padding:6px 0;border-bottom:1px solid transparent}
#almanak-kyoto .masthead nav a:hover{text-decoration:none;color:var(--blue)}
#almanak-kyoto .masthead nav a[aria-current="page"]{color:var(--blue);border-bottom-color:var(--blue)}
#almanak-kyoto .footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 30px;padding:26px var(--gutter) 34px;font-size:11px;line-height:1.6;letter-spacing:.04em;text-transform:uppercase;color:var(--slate);border-top:1px solid var(--band);margin-top:56px}
#almanak-kyoto .footer a{color:var(--slate)}
#almanak-kyoto .footer .right{text-align:right}

/* Cover */
#almanak-kyoto .cover figure img{width:100%;aspect-ratio:16/9;max-height:78vh;object-fit:cover}
#almanak-kyoto .cover .caption{padding:0 var(--gutter)}
#almanak-kyoto .cover-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:10px var(--gutter) 40px}
#almanak-kyoto .cover-title h1{font-size:clamp(68px,10.5vw,124px);line-height:1;font-weight:300;color:var(--blue);letter-spacing:-.01em}
#almanak-kyoto .cover-title .dateline{display:block;margin-top:22px;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--slate);font-weight:400}
#almanak-kyoto .cover-title .mark{width:min(216px,34vw);margin-bottom:22px}

/* Spread: text panel and full-height photograph, like a section opener */
#almanak-kyoto .spread{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:clamp(560px,62vw,768px)}
#almanak-kyoto .spread.flip .panel{order:2}
#almanak-kyoto .spread .panel{display:flex;flex-direction:column;padding:clamp(36px,6vw,92px) var(--gutter) 44px}
#almanak-kyoto .spread .panel .copy{margin-top:34px}
#almanak-kyoto .spread .deck{margin-top:auto;padding-top:40px;font-size:17px;line-height:1.5;max-width:44ch}
#almanak-kyoto .spread .photo{position:relative;min-height:420px;overflow:hidden;background:var(--band)}
#almanak-kyoto .spread .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#almanak-kyoto .spread .photo .mark{position:absolute;top:26px;right:28px;width:96px;height:auto;inset-block-end:auto;inset-inline-start:auto;object-fit:contain}
#almanak-kyoto .spread .photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 28px 14px;font-size:11px;line-height:1.35;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.42))}
#almanak-kyoto .chevrons{list-style:none;margin-top:clamp(36px,6vw,72px)}
#almanak-kyoto .chevrons li{font-size:clamp(18px,1.9vw,21px);line-height:1.3;padding:5px 0}
#almanak-kyoto .chevrons a{color:var(--blue)}
#almanak-kyoto .chevrons a::before{content:"> "}
#almanak-kyoto .contents li{display:flex;justify-content:space-between;gap:16px}
#almanak-kyoto .contents li a::before{content:none}
#almanak-kyoto .contents .count{color:var(--blue);font-variant-numeric:tabular-nums}
#almanak-kyoto .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
#almanak-kyoto .cta{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:11px 18px;border:1px solid var(--blue);color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#fff;transition:background .18s,color .18s}
#almanak-kyoto .cta:hover{text-decoration:none;background:var(--blue);color:#fff}
#almanak-kyoto .cta.solid{background:var(--blue);color:#fff}
#almanak-kyoto .cta.solid:hover{background:var(--link);border-color:var(--link)}

/* Download band */
#almanak-kyoto .downloads{background:var(--band);border-top:1px solid var(--rule);padding:clamp(36px,5vw,64px) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:20px var(--gutter);align-items:end}
#almanak-kyoto .downloads .notice{font-size:13px;line-height:1.5;color:var(--slate);margin-top:14px;max-width:52ch}

/* Venue pairs, as on the PDF pages */
#almanak-kyoto .pairs{border-top:1px solid var(--band)}
#almanak-kyoto .pair{display:grid;grid-template-columns:1fr 1fr}
#almanak-kyoto .pair + .pair{border-top:1px solid var(--band)}
#almanak-kyoto .venue{display:flex;flex-direction:column;min-width:0}
#almanak-kyoto .venue .top{padding:clamp(34px,4vw,52px) var(--gutter) 26px}
#almanak-kyoto .venue .top .eyebrow{margin-bottom:12px}
#almanak-kyoto .venue .copy{margin-top:22px}
#almanak-kyoto .venue .copy p{font-size:16.5px}
#almanak-kyoto .venue > figure,#almanak-kyoto .venue > .no-photo{margin-top:auto}
#almanak-kyoto .pair{grid-template-rows:auto auto auto}
@supports (grid-template-rows:subgrid){#almanak-kyoto .pair > .venue{display:grid;grid-row:span 3;grid-template-rows:subgrid}#almanak-kyoto .pair > .venue > figure{align-self:end}#almanak-kyoto .pair > .venue > .details{margin-top:16px}}
#almanak-kyoto .panel-photo{position:relative;grid-row:span 3;min-height:420px;overflow:hidden}
#almanak-kyoto .panel-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#almanak-kyoto .panel-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 28px 14px;font-size:11px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.42))}
#almanak-kyoto .venue figure{padding:0 var(--gutter)}
#almanak-kyoto .venue figure img{width:100%;aspect-ratio:432/180;object-fit:cover;background:var(--band)}
#almanak-kyoto .venue .no-photo{height:8px}
#almanak-kyoto .details{margin-top:16px;background:var(--band);border-top:1px solid var(--rule);padding:16px var(--gutter) 22px;min-height:178px}
#almanak-kyoto .details p{font-size:14px;line-height:1.5;color:var(--ink);padding:2px 0;overflow-wrap:anywhere}
#almanak-kyoto .details b{font-weight:700}
#almanak-kyoto .details .sep{color:var(--slate);padding:0 4px}
#almanak-kyoto .venue.single{max-width:none}
#almanak-kyoto .entry-layout{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--band)}
#almanak-kyoto .entry-layout .venue .top{padding-top:28px}
#almanak-kyoto .entry-side{padding:clamp(34px,4vw,52px) var(--gutter);border-left:1px solid var(--band)}
#almanak-kyoto .entry-side .photo-tall img{width:100%;aspect-ratio:4/3;object-fit:cover}
#almanak-kyoto .entry-side h2{margin:28px 0 8px}
#almanak-kyoto .entry-side p{font-size:15px;line-height:1.5}
#almanak-kyoto .back{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:18px var(--gutter) 0}

/* Directory */
#almanak-kyoto .pagehead{padding:clamp(40px,6vw,80px) var(--gutter) 30px}
#almanak-kyoto .pagehead .title{font-size:clamp(34px,4.4vw,52px)}
#almanak-kyoto .pagehead .copy{margin-top:18px}
#almanak-kyoto .tools{padding:0 var(--gutter) 22px;display:grid;gap:16px}
#almanak-kyoto .search label{display:block;margin-bottom:8px}
#almanak-kyoto .search input{width:100%;max-width:560px;min-height:48px;padding:10px 14px;border:1px solid var(--rule);background:var(--band);font-size:17px;font-weight:300;border-radius:0;-webkit-appearance:none}
#almanak-kyoto .search input:focus{outline:2px solid var(--blue);outline-offset:0;background:#fff}
#almanak-kyoto .filters{display:flex;flex-wrap:wrap;gap:8px}
#almanak-kyoto .filters button{min-height:38px;padding:7px 13px;border:1px solid var(--rule);background:#fff;color:var(--slate);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#almanak-kyoto .filters button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
#almanak-kyoto .results-count{padding:6px var(--gutter) 18px;font-size:13px;color:var(--slate)}
#almanak-kyoto .results{display:grid;grid-template-columns:repeat(3,1fr);gap:40px var(--gutter);padding:0 var(--gutter)}
#almanak-kyoto .card img{width:100%;aspect-ratio:432/200;object-fit:cover;background:var(--band);margin-bottom:14px}
#almanak-kyoto .card .ph{aspect-ratio:432/200;background:var(--band);margin-bottom:14px;display:flex;align-items:center;justify-content:center}
#almanak-kyoto .card .ph img{width:70px;aspect-ratio:auto;margin:0;opacity:.55;background:none}
#almanak-kyoto .card h2{font-size:22px;line-height:1.2;font-weight:400;color:var(--blue);margin:6px 0 8px}
#almanak-kyoto .card h2 a{color:inherit}
#almanak-kyoto .card p{font-size:15px;line-height:1.5}
#almanak-kyoto .empty{grid-column:1/-1;padding:40px 0}
#almanak-kyoto .empty h2{font-size:24px;font-weight:400;color:var(--blue);margin-bottom:8px}

/* Walks */
#almanak-kyoto .walk-list{border-top:1px solid var(--band)}
#almanak-kyoto .walk-row{display:grid;grid-template-columns:64px 1fr minmax(0,320px) 24px;gap:20px;align-items:baseline;padding:22px var(--gutter);border-bottom:1px solid var(--band);color:var(--ink)}
#almanak-kyoto .walk-row:hover{text-decoration:none;background:var(--band)}
#almanak-kyoto .walk-row .number{font-size:30px;font-weight:300;color:var(--blue);font-variant-numeric:tabular-nums}
#almanak-kyoto .walk-row h2{font-size:24px;font-weight:400;color:var(--blue);line-height:1.2}
#almanak-kyoto .walk-row p{font-size:15px;margin-top:3px}
#almanak-kyoto .walk-row .estimate{font-size:13px;color:var(--slate)}
#almanak-kyoto .walk-row .arrow{color:var(--blue)}
#almanak-kyoto .walk-map{background:#f4f2ea;padding:clamp(10px,2vw,24px)}
#almanak-kyoto .walk-map img{width:100%;aspect-ratio:4/3;object-fit:contain}
#almanak-kyoto .walk-map figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding:10px 4px 0;font-size:12px;color:var(--slate)}
#almanak-kyoto .walk-map figcaption a{font-weight:700}
#almanak-kyoto .walk-body{display:grid;grid-template-columns:1fr 1fr;gap:0}
#almanak-kyoto .walk-body > div{padding:clamp(34px,4vw,52px) var(--gutter)}
#almanak-kyoto .walk-body .copy{margin-top:26px}
#almanak-kyoto .walk-body .right .eyebrow{margin-bottom:14px}

/* Notes */
#almanak-kyoto .notes{display:grid;grid-template-columns:1fr 1fr;gap:0}
#almanak-kyoto .notes > section{padding:0 var(--gutter) 30px}
#almanak-kyoto .notes h2{margin-bottom:18px}
#almanak-kyoto .credits{list-style:none;margin-top:16px}
#almanak-kyoto .credits li{font-size:13px;line-height:1.5;padding:6px 0;border-bottom:1px solid var(--band)}

/* Responsive */
@media (max-width:1000px){
  #almanak-kyoto .results{grid-template-columns:repeat(2,1fr)}
  #almanak-kyoto .walk-row{grid-template-columns:52px 1fr 24px}
  #almanak-kyoto .walk-row .estimate{grid-column:2}
  #almanak-kyoto .walk-row .arrow{grid-row:1;grid-column:3}
}
@media (max-width:760px){
  #almanak-kyoto{font-size:16px}
  #almanak-kyoto .masthead{flex-direction:column;align-items:flex-start;gap:12px;padding:18px var(--gutter)}
  #almanak-kyoto .masthead nav{justify-content:flex-start;gap:4px 18px}
  #almanak-kyoto .cover figure img{aspect-ratio:4/3}
  #almanak-kyoto .cover-title{flex-direction:column;align-items:flex-start;padding-bottom:30px}
  #almanak-kyoto .cover-title .mark{margin-bottom:0}
  #almanak-kyoto .spread,#almanak-kyoto .pair,#almanak-kyoto .entry-layout,#almanak-kyoto .walk-body,#almanak-kyoto .notes,#almanak-kyoto .downloads{grid-template-columns:1fr}
  #almanak-kyoto .spread{min-height:0}
  #almanak-kyoto .spread .photo{order:-1;min-height:0;aspect-ratio:4/5;max-height:72vh}
  #almanak-kyoto .spread.flip .panel{order:0}
  #almanak-kyoto .spread .panel{padding-top:34px}
  #almanak-kyoto .spread .deck{padding-top:28px}
  #almanak-kyoto .pair .venue + .venue{border-top:1px solid var(--band)}
  #almanak-kyoto .details{min-height:0}
  #almanak-kyoto .panel-photo{min-height:0;aspect-ratio:4/5}
  #almanak-kyoto .entry-side{border-left:0;border-top:1px solid var(--band)}
  #almanak-kyoto .results{grid-template-columns:1fr;gap:34px}
  #almanak-kyoto .walk-row{grid-template-columns:40px 1fr 18px;gap:12px}
  #almanak-kyoto .walk-row .number{font-size:24px}
  #almanak-kyoto .walk-row h2{font-size:21px}
  #almanak-kyoto .footer{flex-direction:column}
  #almanak-kyoto .footer .right{text-align:left}
}
