.world-cal-page{display:grid;gap:1rem;margin:0 auto;max-width:1120px;width:100%;min-width:0;padding:0 0 3rem;overflow-x:clip}.world-cal{--wc-ink:var(--ink);--wc-muted:var(--mist);--wc-line:var(--border);--wc-surface:color-mix(in oklab,var(--paper-deep) 88%,#1a2830);--wc-accent:var(--gold);--wc-pine:var(--pine);position:relative;isolation:isolate;width:100%;max-width:100%;min-width:0;border-radius:1.25rem;overflow:hidden;padding:clamp(1rem,2.5vw,1.75rem);background:radial-gradient(900px 420px at 12% -10%,color-mix(in oklab,var(--pine) 22%,transparent),transparent 55%),radial-gradient(700px 380px at 92% 8%,color-mix(in oklab,var(--gold) 14%,transparent),transparent 50%),linear-gradient(165deg,color-mix(in oklab,var(--paper-deep) 70%,#102018),var(--paper));border:1px solid var(--wc-line);box-shadow:var(--shadow)}.world-cal__hero{margin-bottom:1.4rem;max-width:40rem}.world-cal__brand{margin:0 0 .35rem;font-size:clamp(1.65rem,4vw,2.35rem);letter-spacing:.02em;color:var(--wc-accent);line-height:1.05}.world-cal__brand,.world-cal__title{font-family:var(--font-display),Georgia,serif}.world-cal__title{margin:0;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:600;line-height:1.15}.world-cal__lead{margin:.55rem 0 0;color:var(--wc-muted);max-width:48ch;line-height:1.45}.world-cal__toolbar{display:grid;gap:.85rem;margin-bottom:1.1rem}.world-cal__filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.world-cal__filters label,.world-cal__submit label{display:grid;gap:.28rem;font-size:.78rem;color:var(--wc-muted)}.world-cal__filters input,.world-cal__filters select,.world-cal__submit input,.world-cal__submit textarea{width:100%;border-radius:.55rem;border:1px solid var(--wc-line);background:color-mix(in oklab,var(--paper) 70%,transparent);color:var(--wc-ink);padding:.55rem .7rem;font:inherit}.world-cal__modes,.world-cal__month-nav,.world-cal__views{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.world-cal__chip,.world-cal__month-nav button,.world-cal__reset,.world-cal__tab{border:1px solid var(--wc-line);background:transparent;color:var(--wc-ink);border-radius:999px;padding:.35rem .85rem;font:inherit;font-size:.82rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.world-cal__chip.is-active,.world-cal__tab.is-active{background:color-mix(in oklab,var(--pine) 28%,transparent);border-color:color-mix(in oklab,var(--pine) 55%,var(--wc-line));color:#e8fff4}.world-cal__chip:hover,.world-cal__month-nav button:hover,.world-cal__tab:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--gold) 40%,var(--wc-line))}.world-cal__nav-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;justify-content:space-between}.world-cal__month-label{margin:0;min-width:10rem;text-align:center;font-family:var(--font-display),Georgia,serif;font-size:1.15rem;text-transform:capitalize;animation:world-cal-fade .32s ease}.world-cal__count{margin:0;color:var(--wc-muted);font-size:.85rem}.world-cal__grid-wrap{animation:world-cal-rise .38s ease}.world-cal__cells,.world-cal__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.world-cal__weekdays span{text-align:center;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--wc-muted);padding:.25rem 0}.world-cal__grid-wrap,.world-cal__toolbar{min-width:0;max-width:100%}.world-cal__cell{position:relative;min-height:clamp(2.8rem,9vw,4.4rem);border-radius:.7rem;border:1px solid transparent;background:color-mix(in oklab,var(--wc-surface) 80%,transparent);color:inherit;text-align:left;padding:.35rem .4rem;cursor:pointer;overflow:hidden;min-width:0;transition:border-color .16s ease,background .16s ease,transform .16s ease}.world-cal__cell:hover{border-color:color-mix(in oklab,var(--gold) 35%,var(--wc-line));transform:translateY(-1px)}.world-cal__cell.is-outside{opacity:.38}.world-cal__cell.is-today{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--pine) 55%,transparent)}.world-cal__cell.has-events:hover,.world-cal__cell.is-selected{background:color-mix(in oklab,var(--pine) 14%,var(--wc-surface))}.world-cal__daynum{font-size:.82rem;font-weight:650}.world-cal__dots{display:flex;gap:.2rem;margin-top:.35rem;flex-wrap:wrap}.world-cal__dot{width:.42rem;height:.42rem;border-radius:999px;display:block;background:var(--pine)}.world-cal__dot--online{background:#5ec8e8}.world-cal__dot--tcm{background:#d4a24c}.world-cal__dot--namikoshi{background:#7eb88a}.world-cal__dot--shiatsu{background:var(--pine)}.world-cal__peek{display:block;margin-top:.35rem;font-size:.68rem;line-height:1.25;color:var(--wc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-cal__agenda{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;animation:world-cal-rise .38s ease}.world-cal__agenda-item{display:grid;grid-template-columns:9rem 1fr;gap:.85rem;padding:.85rem 1rem;border-radius:.85rem;border:1px solid var(--wc-line);background:color-mix(in oklab,var(--wc-surface) 85%,transparent);transition:border-color .16s ease,transform .16s ease;flex:1;min-width:0;color:inherit;text-decoration:none}.world-cal__agenda-row,.world-cal__daypanel-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.world-cal__daypanel-row>a{flex:1;min-width:0}.event-detail-like{display:flex;margin:0 0 .85rem;padding:.65rem .8rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in oklab,var(--panel) 90%,#b54a5a 10%)}.world-cal__agenda-item:hover{border-color:color-mix(in oklab,var(--gold) 40%,var(--wc-line));transform:translateX(3px)}.world-cal__agenda-item time{color:var(--pine);font-size:.85rem}.world-cal__agenda-item strong{display:block;font-family:var(--font-display),Georgia,serif;font-size:1.05rem}.world-cal__agenda-item p{margin:.25rem 0 0;color:var(--wc-muted);font-size:.85rem}.world-cal__empty{color:var(--wc-muted);padding:1rem .25rem}.world-cal__daypanel{margin-top:1rem;border-radius:.9rem;border:1px solid var(--wc-line);background:color-mix(in oklab,var(--paper-deep) 92%,#0c1612);padding:.9rem 1rem;animation:world-cal-slide .28s ease}.world-cal__daypanel header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem}.world-cal__daypanel h3{margin:0;font-family:var(--font-display),Georgia,serif;font-size:1.05rem;text-transform:capitalize}.world-cal__daypanel header button{border:0;background:transparent;color:var(--wc-muted);font-size:1.35rem;cursor:pointer;line-height:1}.world-cal__daypanel ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.world-cal__daypanel a{display:grid;gap:.15rem;padding:.55rem .65rem;border-radius:.55rem;border:1px solid transparent;background:color-mix(in oklab,var(--pine) 8%,transparent)}.world-cal__daypanel a:hover{border-color:color-mix(in oklab,var(--gold) 35%,transparent)}.world-cal__daypanel span{color:var(--wc-muted);font-size:.8rem}.world-cal__submit,.world-cal__submit-gate{margin-top:.5rem}.world-cal__check{display:flex!important;align-items:flex-start;gap:.55rem;grid-template-columns:none!important;margin-top:.5rem}.world-cal__check input{width:auto;margin-top:.2rem}.directory-detail__map{margin:1.25rem 0}.directory-detail__map h2{font-family:var(--font-display),Georgia,serif;font-size:1.15rem;margin:0 0 .65rem}.directory-detail__map-frame{width:100%;min-height:280px;border:1px solid var(--border);border-radius:.85rem;background:#0a1014}@keyframes world-cal-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes world-cal-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes world-cal-slide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (max-width:860px){.world-cal__agenda-item,.world-cal__filters{grid-template-columns:1fr}.world-cal__peek{display:none}.world-cal__hero{margin-bottom:.85rem}.world-cal__brand{font-size:1.35rem}.world-cal__title{font-size:1.2rem}.world-cal__lead{display:none}.world-cal__cell{min-height:2.65rem;padding:.25rem .3rem}.upcoming-strip__card{flex-basis:min(82vw,14.5rem);max-width:14.5rem}}@media (prefers-reduced-motion:reduce){.world-cal__agenda,.world-cal__agenda-item,.world-cal__cell,.world-cal__chip,.world-cal__daypanel,.world-cal__grid-wrap,.world-cal__month-label,.world-cal__tab{animation:none!important;transition:none!important}}.upcoming-strip{--us-ink:var(--ink);--us-muted:var(--mist);--us-line:var(--border);margin:0;padding:.35rem 0 .15rem;width:100%;max-width:100%;min-width:0;overflow:hidden}.upcoming-strip__head{display:flex;align-items:center;gap:.45rem;margin:0 0 .45rem}.upcoming-strip__pulse{width:.45rem;height:.45rem;border-radius:999px;background:var(--pine);box-shadow:0 0 0 0 color-mix(in oklab,var(--pine) 45%,transparent);animation:upcoming-pulse 2.4s ease-out infinite}.upcoming-strip__title{margin:0;font-family:var(--font-display),Georgia,serif;font-size:.95rem;font-weight:600;letter-spacing:.02em;color:var(--us-ink)}.upcoming-strip__track{display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:.1rem .05rem .4rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;cursor:grab;touch-action:pan-x}.upcoming-strip__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.upcoming-strip__track.is-dragging a{pointer-events:none}.upcoming-strip__card{--us-accent:var(--pine);position:relative;flex:0 0 min(78vw,15.5rem);max-width:15.5rem;scroll-snap-align:start;display:flex;flex-direction:column;gap:.25rem;min-height:0;padding:.45rem .55rem .4rem;border-radius:.85rem;border:1px solid color-mix(in oklab,var(--us-accent) 28%,var(--us-line));background:linear-gradient(135deg,color-mix(in oklab,var(--us-accent) 12%,transparent),color-mix(in oklab,var(--paper) 88%,transparent) 55%);color:inherit;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.upcoming-strip__link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;color:inherit;text-decoration:none;min-width:0}.upcoming-strip__actions{display:flex;justify-content:flex-end;padding-top:.1rem;border-top:1px solid color-mix(in oklab,var(--us-accent) 14%,transparent)}.upcoming-strip__card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--us-accent);opacity:.85}.upcoming-strip__card--shiatsu{--us-accent:var(--pine)}.upcoming-strip__card--tcm{--us-accent:var(--gold)}.upcoming-strip__card--qi{--us-accent:var(--brand-secondary)}.upcoming-strip__card--earth{--us-accent:var(--masunaga)}.upcoming-strip__card--online{--us-accent:#3a9bb8}.upcoming-strip__card:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--us-accent) 55%,var(--us-line));box-shadow:0 10px 28px color-mix(in oklab,var(--us-accent) 18%,transparent)}.upcoming-strip__card.is-next{border-color:color-mix(in oklab,var(--gold) 45%,var(--us-line))}.upcoming-strip__date{display:grid;justify-items:center;min-width:2.6rem;padding:.2rem .15rem;border-radius:.55rem;background:color-mix(in oklab,var(--us-accent) 16%,transparent);line-height:1.05}.upcoming-strip__day{font-family:var(--font-display),Georgia,serif;font-size:1.25rem;font-weight:700;color:var(--us-accent)}.upcoming-strip__mon{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--us-muted)}.upcoming-strip__body{min-width:0;display:grid;gap:.2rem}.upcoming-strip__name{font-family:var(--font-display),Georgia,serif;font-size:.92rem;font-weight:600;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.upcoming-strip__meta{font-size:.72rem;color:var(--us-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-strip__thumb{width:2.35rem;height:2.35rem;object-fit:contain;border-radius:.45rem;opacity:.9}.upcoming-strip__glyph{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:999px;font-size:1rem;color:var(--us-accent);background:color-mix(in oklab,var(--us-accent) 12%,transparent);opacity:.9}@keyframes upcoming-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--pine) 40%,transparent)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion:reduce){.upcoming-strip__card,.upcoming-strip__pulse{animation:none!important;transition:none!important}}[data-theme=dark] .upcoming-strip__card{background:linear-gradient(135deg,color-mix(in oklab,var(--us-accent) 18%,transparent),color-mix(in oklab,var(--paper-deep) 80%,transparent) 60%)}