/* Shared polish for public pages, lists and forms. */
body{font-family:"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
main>section.page-hero{padding-top:54px;padding-bottom:36px;border-bottom:1px solid #e5ebf4}main>section.page-hero h1{font-size:clamp(34px,4.4vw,58px);line-height:1.15;letter-spacing:-1.5px;max-width:1000px;margin-bottom:16px}main>section.page-hero p{max-width:780px;font-size:16px;line-height:1.8;color:#63758d}main>section.page-hero+.section{padding-top:42px}
.section p{line-height:1.85}.section input:not([type=checkbox]),.section select,.section textarea{border:1px solid #d7e1ee;background:#fcfdff;border-radius:9px;padding:12px 14px;font-size:14px;outline:none}.section input:focus,.section select:focus,.section textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0750b310}
.section form>button,.event-filters button{background:var(--blue);border:0;border-radius:9px;padding:12px 22px;color:white;font-size:13px;font-weight:600;cursor:pointer}.section form>label{font-size:12px;font-weight:600;color:#52667f}.section>form{display:flex;align-items:end;gap:12px;max-width:680px;padding:20px;background:#f5f8fd;border:1px solid #e5ebf4;border-radius:14px}.section>form>label{flex:1;min-width:0}.section>form>input[type=hidden]{display:none}
.filter-bar{gap:8px;flex-wrap:wrap}.filter{border:1px solid #dce5f1;border-radius:8px;padding:10px 15px;background:#f8faff;font-size:12px;cursor:pointer}.filter.active,.filter[aria-pressed=true]{color:white;border-color:var(--blue);background:var(--blue)}
.event-card{border:1px solid #e4ebf5;border-radius:16px;overflow:hidden;background:white;box-shadow:0 5px 22px #172c4906;transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px #172c4910}.event-card-body{padding:24px}.event-card h3{font-size:24px;line-height:1.3}.event-date{font-size:11px;line-height:1.6}.event-art{border-radius:0;height:230px}.event-card-bottom{gap:12px}.status-dot{font-size:11px}
.event-filters{background:#f5f8fd;border:1px solid #e2eaf5!important;border-radius:12px;padding:0 20px!important;margin:24px 0}.event-filters summary{padding:17px 0;font-size:13px;font-weight:600;color:#314d73}.event-filters form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:0}.event-filters form input[type=hidden]{display:none}.event-filters label{font-size:12px;min-width:0}.event-filters button{justify-self:start}.event-filters form>a{align-self:center;font-size:12px}.event-filters .subtle-note{padding:0 0 18px;margin:0}
.section .pillar-grid{gap:24px}.section .pillar{padding:26px;border:1px solid #e4ebf4;border-radius:14px;background:white;min-width:0}.section .pillar h2{font-size:25px;line-height:1.3;letter-spacing:-.5px;margin:0 0 18px}.section .pillar h3{font-size:20px;margin:10px 0}.section .pillar p{font-size:14px;overflow-wrap:anywhere}.section .pillar img{width:100%;max-height:280px;object-fit:contain;background:#f6f8fc;margin:0 0 18px}.section .pillar .eyebrow{margin-bottom:14px}.section .pillar h3+p{margin-bottom:12px}
.empty-state{border:1px dashed #cddbed;border-radius:16px;background:#f8faff;padding:40px 24px;max-width:900px;margin:24px auto;color:#526b8d}.empty-state p{max-width:640px;margin:0 auto;font-size:14px}.empty-state a{display:inline-block;margin-top:18px;color:var(--blue);font-size:13px}.contact-card{border-color:#e2eaf4;border-radius:16px;background:#fbfcff}.readable-page{max-width:980px}.readable-page h2{font-size:28px;margin-top:32px}.readable-page .large-text{font-size:20px}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #92b9ff;outline-offset:4px}.filter-bar a{text-decoration:none}
@media(max-width:850px){.event-filters form{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card h3{font-size:22px}}
@media(max-width:600px){main>section.page-hero{padding-top:34px;padding-bottom:24px}main>section.page-hero h1{letter-spacing:-.8px}main>section.page-hero p{font-size:14px}main>section.page-hero+.section{padding-top:28px}.section{padding-top:44px;padding-bottom:44px}.section .pillar{padding:22px}.section>form{padding:16px;gap:10px}.event-filters{padding:0 14px!important}.event-filters form{gap:12px}.event-filters input,.event-filters select{font-size:12px;padding:10px;min-width:0}.event-card-body{padding:20px}.event-art{height:200px}.filter-bar{gap:6px}.filter{padding:9px 12px;font-size:11px}.empty-state{padding:28px 18px}.footer-bottom{line-height:1.7}}
@media(prefers-reduced-motion:reduce){.event-card{transition:none}.event-card:hover{transform:none}}

/* Consistent typography, card rhythm and touch targets across public pages. */
.section :is(p,li),.readable-page p{line-height:1.85}
.event-grid{align-items:stretch}
.event-card{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.event-card-body{display:flex;flex:1;flex-direction:column}
.event-card-bottom{margin-top:auto;min-height:48px}
.event-card h3{overflow-wrap:break-word}
.filter-bar .filter{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.section input,.section select,.section textarea{min-height:46px;max-width:100%}
.section textarea{font:inherit;line-height:1.6;border:1px solid var(--line);border-radius:8px;padding:13px 15px;width:100%;margin-top:8px}
.section form button{min-height:46px}
.section .guide-card{background:#fff;border-color:#e2eaf4;padding:28px;overflow-wrap:anywhere}
.section .guide-card img{max-height:320px;object-fit:contain;margin-bottom:20px}
.timeline-item p,.history-aside p{line-height:1.85}
.contact-card a{color:var(--blue);overflow-wrap:anywhere;text-underline-offset:4px}
.event-filters input,.event-filters select{width:100%;min-width:0}
.site-footer a:focus-visible{outline-offset:6px}
@media(max-width:850px){.site-header .main-nav>a,.site-header .nav-more summary{font-size:12px}.event-card-body{padding:22px}.event-date{font-size:12px}}
@media(max-width:600px){.page-hero h1{font-size:clamp(34px,8vw,46px)!important;line-height:1.18}.hero h1{font-size:clamp(42px,10vw,58px)}.section .pillar h2{font-size:26px}.section .guide-card{padding:22px}.history-layout .timeline{margin-left:12px;padding-left:20px}.timeline-item{padding-left:18px}.timeline-mark{left:-38px}.memory-banner{padding:26px}.contact-card{padding:24px}.event-card-bottom a{display:inline-flex;align-items:center;min-height:44px}.development-note{line-height:1.6;padding:8px 18px}.footer-bottom{font-size:12px}.hero-bottom{font-size:11px}}
/* A richer surface treatment while preserving the foundation identity. */
.hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 80% 35%,#3b8aeb55,transparent 55%),linear-gradient(120deg,var(--blue-dark),var(--blue));overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#ffffff18 1px,transparent 1px);background-size:28px 28px;opacity:.35;pointer-events:none;z-index:-1}
.hero .button{border-radius:13px;box-shadow:0 10px 28px #031c4433;transition:transform .2s,box-shadow .2s}
.hero .button:hover{transform:translateY(-3px);box-shadow:0 16px 34px #031c4440}
.hero-secondary{padding:14px 18px;border:1px solid #ffffff40;border-radius:12px;background:#ffffff0c;transition:background .2s}
.hero-secondary:hover{background:#ffffff20}
.focus-strip{background:linear-gradient(110deg,#f1f6ff,#fff);box-shadow:inset 0 -1px #dfe8f5}
.section .pillar{box-shadow:0 8px 30px #0a204107;border-top:3px solid #bed4f3;transition:transform .22s,box-shadow .22s}
.section .pillar:hover{transform:translateY(-4px);box-shadow:0 16px 34px #0a204110}
.event-card{box-shadow:0 8px 28px #0a20410a;border-radius:18px}
.event-card:hover{box-shadow:0 18px 42px #0a204117}
.event-card-bottom a{padding:9px 14px;background:#edf4ff;border:1px solid #dae7f8;border-radius:10px;transition:background .2s}
.event-card-bottom a:hover{background:#dfeeff}
.memory-banner{border-radius:20px;box-shadow:0 12px 36px #0a204108}
.page-hero{background:radial-gradient(ellipse at 90% 0,#e8f1ff,transparent 60%)}
@media(prefers-reduced-motion:reduce){.hero .button,.section .pillar,.hero-secondary{transition:none;transform:none!important}}
