:root{color-scheme:light;--paper:#f7f8f8;--ink:#19323b;--muted:#62737a;--line:#dce3e5;--blue:#235e73;--pale:#e8f0f3;--warm:#f0eade;--white:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-width:1000px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:var(--blue);text-underline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #d78f31;outline-offset:3px}h1,h2,h3,p,figure{margin:0}button{color:inherit}button:disabled{cursor:default}button:hover{filter:brightness(.98)}
.masthead{height:94px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:var(--white);border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:39px;height:39px;border-radius:50%;background:var(--ink);color:white;text-align:center;line-height:35px;font-size:30px;font-family:Georgia,serif}.brand h1{font-size:21px;font-weight:600;letter-spacing:-.5px}.brand h1 span{font-weight:400;color:var(--muted)}.brand p{font-size:10px;letter-spacing:2px;margin-top:6px}.trip-meta{display:flex;align-items:center;gap:23px;font-size:12px;color:var(--muted)}.draft{padding:7px 11px;background:var(--warm);color:#735828;border-radius:4px}
.dates{display:flex;padding:15px 29px 15px 24px;background:var(--white);border-bottom:1px solid var(--line);gap:0;height:80px}.date{border:0;background:#edf1f2;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%);flex:1;min-width:0;margin-right:-7px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 12px 0 19px}.date:first-child{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);padding-left:9px;border-radius:4px 0 0 4px}.date b{font-size:18px;font-weight:500;letter-spacing:-.6px}.date span{font-size:10px;line-height:1.5;letter-spacing:.3px;text-align:left}.date[aria-current="date"]{background:var(--blue);color:var(--white)}.date:focus-visible{outline:0;box-shadow:inset 0 0 0 3px #d78f31}
.layout{display:grid;grid-template-columns:26% minmax(0,1fr);height:calc(100vh - 174px);min-height:480px}.schedule{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;background:#fcfdfd;overflow:hidden}.schedule-heading{padding:23px 24px 19px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--muted);text-transform:uppercase}.schedule-heading h2{font-size:22px;font-weight:500;letter-spacing:-.5px;margin-top:8px}.schedule-heading>p:last-child{font-size:12px;color:var(--muted);margin-top:6px}.calendar-scroll{overflow:auto;flex:1;padding:12px 16px 0 12px;scrollbar-width:thin}.timeline{height:528px;position:relative;margin-top:8px}.hour{position:absolute;left:0;right:0;height:44px;border-top:1px solid #e9eef0;margin-left:42px}.hour span{position:absolute;right:calc(100% + 9px);top:-7px;font-size:10px;color:#6a7b82;font-variant-numeric:tabular-nums}.event{position:absolute;left:49px;right:0;padding:7px 10px;text-align:left;border:0;border-left:3px solid #95afba;border-radius:4px;background:#eaf0f2;overflow:hidden;display:flex;flex-direction:column;gap:4px}.event strong{font-weight:500;font-size:12px;line-height:1.25}.event span{font-size:10px;opacity:.8;font-variant-numeric:tabular-nums}.event.compact{padding:5px 9px;justify-content:center}.event.compact span{display:none}.event[aria-pressed="true"]{background:var(--blue);color:white;border-left-color:#163e4e;box-shadow:0 3px 9px #1b48501a}.schedule-footer{padding:14px 15px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);display:flex;gap:7px;align-items:center}.dot{height:5px;width:5px;border-radius:50%;background:#ad843e;display:inline-block;flex-shrink:0}
.detail{overflow:auto;padding:25px 32px 40px;scrollbar-width:thin}.detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;font-size:11px;color:var(--muted)}.detail-top .kind{letter-spacing:1.5px;text-transform:uppercase}.detail-top .time{font-variant-numeric:tabular-nums}.hero{width:100%;height:clamp(210px,28vh,340px);border-radius:7px;overflow:hidden;background:#dce6eb;position:relative}.hero>img{width:100%;height:100%;object-fit:cover}.photo-expand{position:absolute;right:12px;bottom:12px;border:1px solid #ffffff75;border-radius:4px;color:white;background:#112c3b99;padding:7px 11px;font-size:11px}.credit{font-size:10px;color:var(--muted);margin-top:7px}.credit a{color:inherit}.detail-title{margin-top:23px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.detail-title h2{font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:1.15;font-weight:400;letter-spacing:-.6px;max-width:720px}.location{color:var(--muted);font-size:12px;margin-top:10px}.tag{font-size:10px;border:1px solid #d7dde0;border-radius:30px;padding:6px 11px;white-space:nowrap;flex-shrink:0;margin-top:4px;color:var(--muted)}.intro{font-size:14px;line-height:1.7;max-width:800px;margin-top:17px;color:#435c67}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:22px;padding:18px 0;gap:20px}.fact span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;display:block;margin-bottom:7px}.fact strong{font-size:15px;font-weight:500;display:block;line-height:1.4}.body-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:36px;margin-top:26px}.section h3{font-size:15px;font-weight:600;margin-bottom:12px}.section p{font-size:13px;line-height:1.75;color:#4f646d}.section ul{padding-left:16px;margin:0}.section li{font-size:13px;line-height:1.7;color:#4f646d;padding-bottom:8px}.callout{padding:18px;background:#eef1ed;border-radius:5px}.callout h3{color:#476151}.callout p{color:#526956;font-size:12px}.links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.links a{border:1px solid #bacad1;padding:10px 14px;border-radius:4px;text-decoration:none;font-size:12px}.links a:first-child{background:var(--blue);color:white;border-color:var(--blue)}.gallery{display:flex;gap:14px;margin-top:23px}.gallery button{position:relative;border:0;background:none;padding:0;width:155px;text-align:left}.gallery img{width:100%;height:95px;object-fit:cover;border-radius:5px}.gallery span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.fineprint{font-size:10px;line-height:1.6;color:var(--muted);margin-top:25px;border-top:1px solid var(--line);padding-top:14px}.poster{background:#dfe9e9;display:flex;align-items:center;padding:32px 38px;isolation:isolate}.poster:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:#c0d4d6;right:7%;top:12%;z-index:-1}.poster .poster-type{font-size:11px;letter-spacing:2px;color:#56787f;margin-bottom:11px}.poster .poster-title{font-family:Georgia,serif;font-size:56px;font-weight:400;color:#315662}.poster .poster-sub{font-size:12px;color:#56787f;margin-top:13px}.poster .poster-jp{font-size:80px;color:#65858b40;position:absolute;right:8%;bottom:30px;letter-spacing:10px;z-index:-1}
dialog{border:0;padding:20px;max-width:90vw;max-height:94vh;background:var(--white);border-radius:8px;box-shadow:0 12px 80px #0005}dialog::backdrop{background:#102630bf}dialog form{display:flex;justify-content:flex-end;margin-bottom:12px}dialog form button{border:1px solid var(--line);background:var(--white);border-radius:4px;padding:8px 15px}dialog img{display:block;max-width:85vw;max-height:75vh;object-fit:contain;margin:auto}dialog p{margin-top:12px;font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
