:root{--ink: #2b2b2b;--ink-soft: #5f6368;--line: #e4e6e5;--bg: #ffffff;--bg-soft: #f6f7f7;--accent: #12c9a4;--accent-soft: #50e3c2;--maxw: 1080px;--radius: 4px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.68;font-weight:300}a{color:inherit;text-decoration:none}main a:not(.btn):not(.card){text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent-soft);text-decoration-thickness:2px}main a:not(.btn):not(.card):hover{color:#0a9c80}img{max-width:100%;height:auto;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.narrow{max-width:760px}h1,h2,h3,h4{font-weight:600;line-height:1.24;color:var(--ink)}h1{font-size:clamp(1.9rem,4vw,2.7rem);margin:0 0 .6em;letter-spacing:-.02em}h2{font-size:1.45rem;margin:2.2em 0 .7em}h3{font-size:1.15rem;margin:1.8em 0 .5em}.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;background:#fffffff0;backdrop-filter:saturate(160%) blur(8px)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;flex-wrap:wrap}.brand{line-height:1.15;padding:14px 0}.brand strong{display:block;font-size:1.12rem;font-weight:600;letter-spacing:-.01em}.brand span{display:block;font-size:.78rem;color:var(--ink-soft);letter-spacing:.02em}.nav{display:flex;gap:22px;flex-wrap:wrap;padding-bottom:10px}.nav a{font-size:.87rem;color:var(--ink-soft);padding:4px 0;border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.hero{border-bottom:1px solid var(--line);background:var(--bg-soft)}.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}.hero h1{margin-bottom:.45em}.hero p{color:var(--ink-soft);margin:0 0 1.4em;font-size:1.02rem}.hero figure{margin:0}.hero img{border-radius:var(--radius)}@media(max-width:820px){.hero .wrap{grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:36px}}.btn{display:inline-block;padding:11px 22px;border-radius:999px;background:var(--ink);color:#fff;font-size:.88rem;font-weight:500;border:1px solid var(--ink)}.btn:hover{background:#000}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--ink);background:transparent}.btn+.btn{margin-left:10px}section.block{padding:56px 0}section.block+section.block{border-top:1px solid var(--line)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.section-head h2{margin:0;font-size:1.3rem}.section-head a{font-size:.85rem;color:var(--ink-soft)}.section-head a:hover{color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px}.card{display:block}.card .thumb{aspect-ratio:16 / 10;background:#fff center no-repeat;background-size:contain;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:12px}.card .thumb.empty{background:var(--bg-soft)}.card h3{font-size:1rem;margin:6px 0;font-weight:500;line-height:1.4}.card:hover h3{color:#0a9c80}.card time,.meta{font-size:.76rem;color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase}article.prose{padding:48px 0 64px}article.prose>.cover{margin:0 0 32px}article.prose>.cover img{border-radius:var(--radius);width:100%}.prose p{margin:0 0 1.15em}.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.3em}.prose li{margin-bottom:.4em}.prose img{border-radius:var(--radius);margin:1.6em 0}.prose blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:3px solid var(--accent-soft);color:var(--ink-soft)}.prose iframe{max-width:100%;border-radius:var(--radius)}.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.prose table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.93rem}.prose th,.prose td{border:1px solid var(--line);padding:8px 12px;text-align:left}.lede{font-size:1.1rem;color:var(--ink)}.lede p:first-child{font-weight:400}.article-head{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:32px}.article-head .meta{display:block;margin-bottom:10px}.article-head h1{margin-bottom:0}.backlink{font-size:.85rem;color:var(--ink-soft);display:inline-block;margin-bottom:28px}.backlink:hover{color:var(--ink)}.event-list{list-style:none;margin:0;padding:0}.event-list li{border-bottom:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:130px 1fr;gap:24px}.event-list li:first-child{border-top:1px solid var(--line)}.event-list .when{font-size:.8rem;color:var(--ink-soft);letter-spacing:.03em;padding-top:3px}.event-list h3{margin:0 0 4px;font-size:1rem;font-weight:500}.event-list .where{font-size:.85rem;color:var(--ink-soft)}@media(max-width:620px){.event-list li{grid-template-columns:1fr;gap:6px}}.venue-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin-bottom:32px;font-size:.92rem}.venue-box div+div{margin-top:2px}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px}.video-grid .frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000}.video-grid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-grid h3{font-size:.95rem;font-weight:500;margin:12px 0 0}.notice{background:var(--bg-soft);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);padding:16px 20px;font-size:.9rem;color:var(--ink-soft);margin:0 0 8px}.pager{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:48px;font-size:.88rem}.pager span{color:var(--ink-soft)}.site-footer{border-top:1px solid var(--line);margin-top:24px;padding:40px 0;background:var(--bg-soft)}.site-footer .wrap{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;font-size:.85rem;color:var(--ink-soft)}.site-footer a:hover{color:var(--ink)}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}.prose strong{font-weight:600}.prose h2{font-size:1.25rem;margin:2.4em 0 .8em;padding-top:.2em}.prose h2:first-child{margin-top:0}
