/* CLEW × ACK: an art guide on top of the existing cycle map. */
:root{--ack-ink:#24364e;--ack-accent:#c8dcf1;--ack-paper:#f5f7fb}
.ack-headline-part{display:inline-block;white-space:nowrap}
.ack-map-marker{width:40px;height:40px;display:grid;place-items:center;border:2.5px solid var(--ack-accent);border-radius:50%;background:var(--ack-ink);color:var(--ack-accent);font:700 10px/1 system-ui,sans-serif;cursor:pointer;z-index:25!important;box-shadow:0 2px 7px #182b4622;padding:0}.ack-map-cluster{width:48px;height:48px;font-size:14px;border-width:3px}.ack-map-marker:focus-visible{outline:3px solid #577fab;outline-offset:3px}
.tourism-toolbar .ack-pill{background:var(--ack-ink);color:var(--ack-accent);border-color:var(--ack-ink);white-space:nowrap}
.tourism-toolbar .ack-pill.off{background:#eaf0f7;color:#65768c}
.ack-feature{position:absolute;left:20px;top:18px;width:292px;z-index:145;border:0;border-radius:18px;padding:19px 20px 14px;background:var(--ack-ink);color:white;text-align:left;box-shadow:0 5px 24px #182b4626;cursor:pointer}
.ack-feature[hidden]{display:none}.ack-feature-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ack-feature-top>b{font-size:25px;letter-spacing:-.045em}.ack-feature-top>b>span{font-size:18px;color:#aabed6;font-weight:400;margin:0 5px}.ack-edition{color:var(--ack-accent);font-size:11px;border:1px solid #c8dcf166;border-radius:20px;padding:4px 8px;letter-spacing:.1em}.ack-feature>strong{display:block;font-size:15px;letter-spacing:.025em}.ack-feature-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--ack-accent);font-size:11px;margin-top:14px;padding-top:10px;border-top:1px solid #ffffff26}.ack-feature-bottom>b{font-size:19px}
.ack-layer-control{border-top:1px solid #eeecf3;margin-top:8px;padding-bottom:12px}.ack-layer-control label{display:flex;align-items:center;gap:13px;min-height:85px;cursor:pointer}.ack-layer-logo{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;background:var(--ack-ink);color:var(--ack-accent);font-size:12px;font-weight:750;border-radius:12px}.ack-open-list{width:calc(100% - 57px);margin-left:57px;border:0;padding:12px;border-radius:10px;color:var(--ack-ink);background:var(--ack-accent);font-size:12px;font-weight:700;cursor:pointer}
dialog.ack-browser{position:fixed;inset:0;margin:auto;width:min(820px,calc(100% - 40px));max-width:820px;max-height:88dvh;border:0;border-radius:24px;padding:0;color:var(--ack-ink);background:var(--ack-paper);box-shadow:0 20px 90px #182b4644;overflow:auto}
.ack-browser::backdrop{background:#172941a1;backdrop-filter:blur(4px)}.ack-browser-header{position:relative;padding:27px 30px 24px;background:var(--ack-ink);color:white}.ack-eyebrow{font-size:10px;letter-spacing:.12em;font-weight:700;margin:0 0 12px;color:#47668e}.ack-browser-header .ack-eyebrow{color:var(--ack-accent);padding-right:28px}.ack-browser-header h2{font-size:28px;letter-spacing:-.03em;margin:0 30px 8px 0}.ack-browser-header .sheet-close{color:white;top:15px;right:15px}.ack-browser-intro{font-size:12px;line-height:1.8;color:#c6d7eb;margin:0}.ack-browser-tools{padding:20px 26px 12px;background:var(--ack-paper)}.ack-search-label{display:block;font-size:11px;font-weight:650;margin-bottom:7px}.ack-browser input[type=search]{width:100%;min-height:44px;border:1px solid #d4deec;border-radius:12px;background:white;padding:11px 14px;font:inherit;font-size:14px;color:var(--ack-ink)}.ack-area-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.ack-area-filters button{border:1px solid #d8e1ee;background:white;color:#526780;padding:8px 11px;min-height:36px;border-radius:20px;font-size:11px;cursor:pointer}.ack-area-filters [aria-pressed=true]{background:var(--ack-ink);border-color:var(--ack-ink);color:var(--ack-accent)}.ack-results-heading{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:8px;font-size:12px}.ack-results-heading>span{font-weight:700}.ack-results-heading button{border:0;background:none;font-size:11px;color:#43658c;text-decoration:underline;cursor:pointer;padding:9px 0;min-height:36px}.ack-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 26px 22px}.ack-result{display:flex;position:relative;align-items:flex-start;gap:12px;min-width:0;padding:12px;border:1px solid #dce4ef;border-radius:14px;background:#fff;text-align:left;color:var(--ack-ink);cursor:pointer;transition:box-shadow .15s,border-color .15s}.ack-result:hover{border-color:#6c8fb9;box-shadow:0 3px 10px #24364e12}.ack-result-art{width:80px;height:94px;flex-shrink:0;border-radius:8px;overflow:hidden;display:grid;place-items:center;background:#e3ebf6}.ack-result-art img{width:100%;height:100%;object-fit:cover}.ack-result-art>span{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.07em}.ack-result-art small{display:block;font-size:10px;letter-spacing:.1em;margin-top:8px}.ack-result-copy{display:block;min-width:0;flex:1;padding-right:8px}.ack-result-meta{display:block;font-size:9px;color:#647b98;margin-bottom:4px}.ack-result-copy>strong{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.ack-result-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:10px;line-height:1.7;color:#647388;margin-top:4px}.ack-result-date{display:block;font-size:9px;line-height:1.7;margin-top:7px;color:#68778b}.ack-result-arrow{position:absolute;right:10px;top:12px;font-size:13px;color:#8095af}.ack-period{display:inline-block;border-radius:5px;background:#eaf0f7;color:#526d90;font-size:9px;font-style:normal;font-weight:650;line-height:1.5;padding:3px 6px;margin-right:5px}.ack-period.current{background:#dceafa;color:#385c89}.ack-period.ended{background:#f0eeec;color:#8c8178}.ack-period.upcoming{background:#e6edf4;color:#4d6480}.ack-empty{padding:20px;font-size:13px;grid-column:1/-1;line-height:1.8}.ack-browser-footer{padding:15px 26px 22px;border-top:1px solid #dce4ef;font-size:10px;color:#6b7e96;line-height:1.9}.ack-browser a,.ack-card a{color:#466a98}
#tourism-card.ack-card{color:var(--ack-ink)}#tourism-card.ack-card .tourism-card-body{padding:9px 9px 0}#tourism-card.ack-card h2{font-size:23px;line-height:1.45;margin:8px 0 14px;padding:0;overflow-wrap:anywhere}#tourism-card.ack-card .tourism-nearby-button{background:var(--ack-ink);color:var(--ack-accent)}#tourism-card.ack-card .tourism-card-footer>a{background:var(--ack-accent);color:var(--ack-ink)}.ack-overview{padding:18px 11px 5px}.ack-overview>.ack-eyebrow{margin-bottom:0}.ack-main-photo{display:block;position:relative;width:100%;border:0;padding:0;border-radius:16px;overflow:hidden;background:#edf2f9;cursor:zoom-in}.ack-main-photo img{display:block;width:100%;height:205px;object-fit:contain}.ack-main-photo>span{position:absolute;bottom:9px;right:10px;background:#ffffffdf;padding:4px 8px;border-radius:8px;font-size:10px;color:#3f5878}.ack-card-identity{padding:26px 21px;border-radius:15px;background:var(--ack-ink);color:var(--ack-accent)}.ack-card-identity>span{display:block;font-size:11px;letter-spacing:.1em;margin-bottom:20px}.ack-card-identity strong{display:block;font-size:28px;line-height:1.15;letter-spacing:-.03em;font-weight:650}.ack-card-identity small{display:block;font-size:11px;letter-spacing:.03em;margin-top:19px}.ack-program{border-top:1px solid #e3eaf4;padding:15px 0 12px}.ack-program h3{font-size:17px;line-height:1.55;margin:8px 0 12px;font-weight:700}.ack-program dl{margin:0;font-size:12px;line-height:1.9;display:block}.ack-program dt{font-size:10px;color:#74849a;margin-top:10px}.ack-program dd{margin:1px 0 9px;white-space:pre-line}.ack-program-notes{white-space:pre-line;font-size:11px;line-height:1.9;color:#64768f;margin:10px 0!important}.ack-program>a{font-size:11px;font-weight:650}.ack-secondary-photo{display:block;width:100%;border:0;background:#f0f4fa;border-radius:10px;padding:0;overflow:hidden;margin-bottom:13px;cursor:zoom-in}.ack-secondary-photo img{display:block;width:100%;max-height:180px;object-fit:contain}.ack-image-credit{font-size:9px;line-height:1.6;margin:9px 0 0!important}.ack-image-credit a{color:#74859d}.ack-address,.ack-location-note{font-size:12px;line-height:1.8;color:#677b96}.ack-visit-note{border-radius:10px;background:#edf3fa;padding:12px;font-size:11px;color:#5e7594;line-height:1.9}.ack-sources{font-size:9px;line-height:1.9;color:#74869f;margin-bottom:8px}
.ack-feature:focus-visible,.ack-browser :focus-visible,.ack-layer-control :focus-visible,.ack-card :focus-visible{outline:3px solid #577fab;outline-offset:3px}
@media(max-width:720px){.tourism-toolbar{gap:7px!important}.tourism-toolbar button{padding:7px 10px!important;font-size:12px}.ack-feature{left:12px;top:12px;width:245px;padding:13px 15px 10px;border-radius:15px}.ack-feature-top{margin-bottom:6px}.ack-feature-top>b{font-size:22px}.ack-feature>strong{font-size:12px}.ack-feature-bottom{margin-top:8px;padding-top:7px;font-size:10px}.ack-feature-bottom>b{font-size:16px}.ack-feature .ack-edition{font-size:9px;padding:3px 7px}dialog.ack-browser{inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:94dvh;border-radius:23px 23px 0 0}.ack-browser-header{padding:24px 20px 20px}.ack-browser-header h2{font-size:24px}.ack-browser-header .ack-eyebrow{font-size:8px}.ack-browser-tools{padding:17px 16px 10px}.ack-area-filters{gap:6px}.ack-area-filters button{font-size:10px;padding:7px 10px}.ack-results{grid-template-columns:1fr;padding:0 16px 18px}.ack-result{gap:13px;padding:11px}.ack-result-art{width:89px;height:96px}.ack-result-copy>strong{font-size:14px}.ack-result-title{font-size:11px}.ack-result-meta{font-size:10px}.ack-browser-footer{padding:14px 18px max(20px,env(safe-area-inset-bottom))}.ack-main-photo img{height:190px}#tourism-card.ack-card h2{font-size:22px}.ack-overview{padding:16px 10px 2px}}
@media(prefers-reduced-motion:reduce){.ack-result{transition:none}}
@media(max-width:720px){.tourism-toolbar button{padding:7px 8px!important;font-size:11px}.tourism-toolbar button span{white-space:nowrap}.tourism-toolbar svg{width:18px;height:18px;flex-shrink:0}}

/* Keep the introductory guide available without covering the map during use. */
.ack-feature.is-compact{width:auto;max-width:calc(100% - 24px);padding:0;border-radius:999px}
.ack-feature-compact{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 15px;border:0;background:transparent;color:#fff;font:inherit;cursor:pointer}
.ack-feature-compact>b{font-size:14px;white-space:nowrap;letter-spacing:-.02em}.ack-feature-compact>b>span{font-weight:400;color:#c8dcf1}
.ack-compact-label{font-size:10px;color:#d4e4f5;white-space:nowrap}.ack-feature-compact>span:last-child{font-size:19px;line-height:1;color:#c8dcf1}
.ack-feature-collapse{position:absolute;top:5px;right:5px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#d4e4f5;font:inherit;font-size:22px;line-height:1;cursor:pointer}
.ack-feature-collapse:hover{background:#ffffff12}.ack-feature-content .ack-edition{display:none}.ack-feature-content .ack-feature-top{padding-right:24px}
.ack-feature-content[hidden],.ack-feature-compact[hidden],.ack-feature-collapse[hidden]{display:none}

/* A persistent landmark for ICC Kyoto, separate from ordinary venue clusters. */
.ack-main-marker{position:relative;z-index:35!important;min-width:168px;padding:0 0 12px;border:3px solid #fff;border-radius:15px;background:#fff;color:var(--ack-ink);box-shadow:0 0 0 2px #4976b4,0 5px 0 6px #c8dcf15c,0 8px 22px #20395933;font-family:inherit;text-align:center;cursor:pointer}
.ack-main-marker::after{content:"";position:absolute;bottom:-10px;left:calc(50% - 7px);width:14px;height:14px;background:#fff;border-right:2px solid #4976b4;border-bottom:2px solid #4976b4;transform:rotate(45deg);border-radius:0 0 3px 0}
.ack-main-marker-heading{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 12px;margin-bottom:10px;border-radius:10px 10px 6px 6px;background:#3d659d;color:#fff;font-size:20px;font-weight:850;letter-spacing:-.04em;line-height:1}
.ack-main-marker-heading>span{font-size:10px;letter-spacing:.06em;font-weight:650}.ack-main-marker>strong{display:block;padding:0 10px;font-size:13px;line-height:1.2}
.ack-main-marker:hover{box-shadow:0 0 0 3px #4976b4,0 6px 24px #20395944}.ack-main-marker:focus-visible{outline:3px solid var(--ack-ink);outline-offset:6px}
.ack-feature{padding:0;overflow:hidden;cursor:default}
.ack-feature-browse{display:block;width:100%;border:0;padding:19px 20px 0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.ack-feature-browse>strong{display:block;font-size:15px;letter-spacing:.025em}
.ack-main-shortcut{display:flex;align-items:center;justify-content:space-between;gap:10px;width:calc(100% - 24px);margin:12px;padding:10px 12px;border:1px solid #ffffff25;border-radius:11px;background:var(--ack-accent);color:var(--ack-ink);text-align:left;font:inherit;cursor:pointer}
.ack-main-shortcut[hidden]{display:none}.ack-main-shortcut small{display:block;font-size:9px;font-weight:650;letter-spacing:.08em;margin-bottom:4px}.ack-main-shortcut strong{display:block;font-size:12px}.ack-main-shortcut>b{font-size:20px;font-weight:500}.ack-main-shortcut:hover{background:#e2edfa}.ack-feature button:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.ack-result-main{grid-column:1/-1;border:1.5px solid #88a7ce;background:#edf4fd;align-items:center}.ack-result-main .ack-result-art{height:84px;background:#3d659d;color:white}.ack-result-main .ack-result-meta{color:#345f96;font-weight:750;letter-spacing:.07em}.ack-result-main .ack-result-copy>strong{font-size:16px}.ack-result-main .ack-result-title{display:block}
.tourism-toolbar .clew-bike-icon{display:block;width:44px;height:30px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 1px #240b3433)}
@media(max-width:720px){
  .ack-feature{padding:0}.ack-feature-browse{padding:13px 15px 0}.ack-feature-browse>strong{font-size:12px}.ack-main-shortcut{margin:9px;width:calc(100% - 18px);padding:9px 10px}.ack-main-shortcut small{font-size:8px;margin-bottom:3px}.ack-main-shortcut strong{font-size:11px}
  .tourism-toolbar .port-pill{gap:5px;flex-grow:1.25}.tourism-toolbar .clew-bike-icon{width:34px;height:24px}.ack-main-marker{min-width:154px}.ack-main-marker-heading{font-size:18px}.ack-main-marker>strong{font-size:12px}
}

/* Ride benefits: keep the supplied student banner and its official logo intact. */
.ack-offer-teaser{display:block;width:100%;border:0;border-top:1px solid #ffffff24;padding:13px 16px 14px;background:#e1f1f1;color:#24364e;text-align:left;font:inherit;cursor:pointer}
.ack-offer-teaser-top{display:flex;align-items:center;gap:8px}.ack-offer-teaser-top>span:first-child{padding:4px 6px;border-radius:5px;background:#904095;color:#fff;font-size:9px;font-weight:700}.ack-offer-teaser-top>b{font-size:16px;letter-spacing:.01em}.ack-offer-teaser-top>span:last-child{margin-left:auto;font-size:18px}.ack-offer-teaser>small{display:block;font-size:9px;color:#53697c;margin-top:5px;line-height:1.5}.ack-offer-teaser:hover{background:#d0ebec}.ack-feature .ack-offer-teaser:focus-visible{outline-color:#24364e}
.ack-offer-link{margin-top:14px;padding:9px 13px;border:1px solid #c8dcf166;border-radius:8px;background:#ffffff10;color:#e0f2f1;font-family:inherit;font-size:11px;font-weight:650;line-height:1.5;cursor:pointer}
.ack-offer-links{display:flex;flex-wrap:wrap;column-gap:8px}.ack-offer-links .ack-offer-link{display:inline-flex;align-items:center;text-decoration:none}
.ack-pass-teaser{text-decoration:none;background:#e7effa;border-top-color:#cfdeee}.ack-pass-teaser .ack-offer-teaser-top>span:first-child{background:#486d9f}.ack-pass-teaser:hover{background:#d7e5f7}.ack-feature a:focus-visible{outline:3px solid #24364e;outline-offset:-5px}
dialog.ack-student-offer{position:fixed;inset:0;margin:auto;padding:0;width:min(540px,calc(100% - 32px));max-width:540px;max-height:92dvh;border:0;border-radius:20px;background:#fff;color:#24364e;box-shadow:0 20px 90px #182b4644;overflow:auto}
.ack-student-offer>header{position:sticky;top:0;z-index:1;background:#fff}
.ack-student-offer::backdrop{background:#172941a1;backdrop-filter:blur(4px)}.ack-student-offer>header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;min-height:48px;font-size:10px;font-weight:650;letter-spacing:.08em}.ack-student-offer .sheet-close{position:static;flex-shrink:0;background:#f3f5f8;color:#24364e;width:30px;height:30px}.ack-offer-banner{display:block}.ack-offer-banner img{display:block;width:100%;height:auto}.ack-offer-body{padding:23px 26px 25px}.ack-offer-kicker{margin:0 0 6px;font-size:10px;color:#914195;font-weight:700;letter-spacing:.06em}.ack-offer-body h2{margin:0;font-size:22px;line-height:1.5;letter-spacing:-.02em}.ack-offer-intro{font-size:12px;line-height:1.9;margin:12px 0 17px}.ack-offer-intro strong{font-weight:650}.ack-offer-times{padding:13px 16px;margin:0 0 17px;border-radius:12px;background:#eef5fb}.ack-offer-times>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;align-items:baseline}.ack-offer-times dt{font-size:11px}.ack-offer-times dd{margin:0;font-size:14px;font-weight:750;white-space:nowrap}.ack-offer-step,.ack-offer-refund{font-size:11px;line-height:1.9;margin:13px 0}.ack-offer-refund{padding:12px 14px;background:#faf3fa;border-radius:10px;color:#664469}.ack-offer-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 16px;border-radius:11px;margin-top:19px;background:#8e3695;color:#fff;text-decoration:none;font-size:13px;font-weight:700}.ack-offer-cta:hover{background:#782980}.ack-offer-source{font-size:9px;line-height:1.6;color:#748397;text-align:center;margin:10px 0 0}.ack-student-offer :focus-visible{outline:3px solid #577fab;outline-offset:3px}
@media(max-width:720px){.ack-offer-teaser{padding:10px 12px 11px}.ack-offer-teaser-top{gap:7px}.ack-offer-teaser-top>b{font-size:14px}.ack-offer-teaser-top>span:first-child{font-size:8px;padding:3px 5px}.ack-offer-teaser>small{font-size:8px;margin-top:4px}.ack-offer-link{font-size:10px;padding:8px 10px;margin-top:12px}dialog.ack-student-offer{inset:auto 0 0;width:100%;max-width:none;max-height:94dvh;margin:0;border-radius:22px 22px 0 0}.ack-offer-body{padding:19px 20px max(24px,env(safe-area-inset-bottom))}.ack-offer-body h2{font-size:20px}.ack-offer-times{padding:10px 12px}.ack-offer-times dt{font-size:10px}.ack-offer-times dd{font-size:13px}}
