.ipcal{display:block;background:#f6f8f6;color:#203e3b;padding:40px 0 64px;font-size:15px;line-height:1.5}.ipcal *{box-sizing:border-box}.ipcal [hidden]{display:none!important}.ipcal__wrap{max-width:1400px;padding:0 40px;margin:auto}.ipcal button,.ipcal select{font:inherit;cursor:pointer}.ipcal button{border:0}.ipcal button:focus-visible,.ipcal a:focus-visible,.ipcal select:focus-visible{outline:3px solid #d18c16;outline-offset:4px}.ipcal h1,.ipcal h2,.ipcal h3,.ipcal p{margin:0}.ipcal__hero{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:32px;padding:42px;border-radius:22px;background:var(--ipcal-accent);color:white;position:relative;overflow:hidden}.ipcal__hero:after{content:"";position:absolute;right:-110px;top:-140px;width:430px;height:430px;border:70px solid #ffffff0b;border-radius:50%;pointer-events:none}.ipcal__intro{max-width:720px;z-index:1}.ipcal__eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;display:block;margin-bottom:13px}.ipcal h1{font-family:var(--heading-font-family,inherit);font-size:clamp(30px,3.6vw,50px);line-height:1.15;font-weight:600;margin-bottom:15px;color:inherit}.ipcal__intro p{font-size:16px;max-width:640px;color:#ffffffdc}.ipcal__stamp{flex-shrink:0;display:flex;flex-direction:column;gap:8px;z-index:1}.ipcal__stamp strong{font-size:31px;font-weight:600}.ipcal__stamp strong span{color:#a5d7c7}.ipcal__stamp>span{font-size:12px;letter-spacing:.04em}.ipcal__toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.ipcal__years,.ipcal__views{display:inline-flex;border-radius:12px;border:1px solid #dce5df;background:#fff;padding:5px;gap:5px}.ipcal__years button{font-size:19px;font-weight:600;padding:9px 30px;border-radius:8px;background:transparent;color:#385955}.ipcal__years button[aria-pressed=true]{background:var(--ipcal-accent);color:#fff}.ipcal__views button{padding:10px 17px;border-radius:8px;background:transparent;color:#61736f}.ipcal__views button[aria-pressed=true]{background:#edf4ef;color:#203e3b;font-weight:600}.ipcal__filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ipcal__filters button{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #dce5df;border-radius:999px;background:white;color:#3c5550;font-size:13px}.ipcal__filters button[aria-pressed=true]{border-color:var(--ipcal-accent);box-shadow:inset 0 0 0 1px var(--ipcal-accent);font-weight:600}.ipcal__dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--event-accent)}.ipcal--exhibition{--event-accent:#277153;--event-bg:#e7f4ed;--event-ink:#22563f}.ipcal--conference{--event-accent:#7951a5;--event-bg:#f0eafa;--event-ink:#5f3d82}.ipcal--workshop{--event-accent:#32729c;--event-bg:#e7f2fc;--event-ink:#245575}.ipcal--community{--event-accent:#b7523d;--event-bg:#fff0e9;--event-ink:#91402e}.ipcal--awareness{--event-accent:#a17a18;--event-bg:#fff6d8;--event-ink:#775710}.ipcal--other{--event-accent:#64748b;--event-bg:#edf1f5;--event-ink:#46556c}.ipcal__status{font-size:13px;color:#677d75;margin:22px 0 14px;min-height:20px}.ipcal__year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ipcal__month-card{background:white;border:1px solid #dde6df;border-radius:15px;overflow:hidden;min-height:220px;display:flex;flex-direction:column}.ipcal__card-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;gap:12px}.ipcal__card-top h2{font-size:20px;font-weight:600}.ipcal__month-number{font-size:11px;background:#f0f4ef;color:#687f72;border-radius:6px;padding:4px 7px;letter-spacing:.1em}.ipcal__mini{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:0 18px 12px}.ipcal__mini-day{text-align:center;position:relative;font-size:10px;color:#687870;min-height:14px;border-radius:3px}.ipcal__mini-day.has-event{background:#e2f0e7;color:#20503a;font-weight:700}.ipcal__mini-day.has-event:after{content:"";position:absolute;bottom:0;left:40%;width:3px;height:3px;border-radius:50%;background:var(--ipcal-accent)}.ipcal__mini-label{text-align:center;font-size:9px;letter-spacing:.04em;color:#8a9991}.ipcal__month-events{display:flex;flex-direction:column;gap:7px;padding:0 18px 12px;flex:1}.ipcal__event-card{display:block;text-align:left;width:100%;padding:10px 12px;border-radius:7px;background:var(--event-bg);color:var(--event-ink);border-left:3px solid var(--event-accent)!important;transition:filter .15s}.ipcal__event-card:hover{filter:brightness(.97)}.ipcal__event-card strong{display:block;font-size:13px;line-height:1.35;font-weight:600;overflow-wrap:anywhere}.ipcal__event-card span{display:block;font-size:11px;margin-top:4px}.ipcal__empty-month{border:1px dashed #dce5df;border-radius:7px;min-height:42px;padding:10px 12px;color:#87948c;font-size:12px;display:flex;align-items:center}.ipcal__month-open{display:flex;justify-content:space-between;gap:8px;text-align:left;background:transparent;border-top:1px solid #f0f3ef!important;color:var(--ipcal-accent);padding:12px 20px;font-size:12px;font-weight:600;margin-top:auto}.ipcal__month-open:hover{background:#f4f8f4}.ipcal__empty-year{margin-top:22px;padding:22px;text-align:center;border-radius:12px;background:#eaf0e9;color:#547065}.ipcal__month-panel{background:#fff;border:1px solid #dde6df;border-radius:15px;padding:24px}.ipcal__month-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ipcal__month-heading h2{font-size:26px;font-weight:600}.ipcal__month-heading button{background:#edf4ef;border-radius:9px;width:42px;height:42px;font-size:23px;color:var(--ipcal-accent)}.ipcal__month-heading button:disabled{opacity:.3;cursor:default}.ipcal__jump{display:flex;align-items:center;gap:10px;font-size:12px;color:#61776d;margin-bottom:20px}.ipcal__jump select{background:#fff;color:#203e3b;border:1px solid #dce5df;border-radius:7px;padding:8px 12px;max-width:100%}.ipcal__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e2e9e3;border-left:1px solid #e2e9e3}.ipcal__weekday{padding:12px 8px;background:#f3f6f1;text-align:center;font-size:12px;font-weight:600;border-bottom:1px solid #e2e9e3;border-right:1px solid #e2e9e3}.ipcal__day{min-height:122px;padding:9px;border-bottom:1px solid #e2e9e3;border-right:1px solid #e2e9e3;min-width:0}.ipcal__day.is-blank{background:#f9faf8}.ipcal__date{font-size:12px;display:block;font-weight:600;margin-bottom:8px}.ipcal__day-event{display:block;width:100%;padding:6px;text-align:left;background:var(--event-bg);color:var(--event-ink);font-size:11px!important;line-height:1.35;border-radius:4px;border-left:2px solid var(--event-accent)!important;margin-bottom:5px;overflow-wrap:anywhere}.ipcal__mobile-month{display:none}.ipcal__dialog{border:0;border-radius:18px;width:calc(100% - 32px);max-width:560px;color:#203e3b;padding:28px;box-shadow:0 24px 90px #183b3a40;max-height:85vh;overflow:auto}.ipcal__dialog::backdrop{background:#173c3866}.ipcal__dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ipcal__dialog-head>span{background:var(--event-bg);color:var(--event-ink);padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600}.ipcal__dialog-head button{font-size:28px;color:#385955;background:#f0f4ef;border-radius:50%;width:38px;height:38px;line-height:1}.ipcal__dialog h2{font-size:25px;font-weight:600;line-height:1.3;margin-bottom:15px;overflow-wrap:anywhere}.ipcal__dialog-date{font-weight:600;margin-bottom:8px!important}.ipcal__summary{white-space:pre-line;margin-top:22px!important;color:#576d62}.ipcal__event-link{display:inline-flex;padding:11px 20px;color:white!important;text-decoration:none!important;background:var(--ipcal-accent);border-radius:9px;margin-top:24px;font-weight:600}.ipcal__editor{padding:14px 18px;border-radius:8px;background:#fff6d8;color:#775710;margin-top:24px!important;font-size:13px}.ipcal__source{border-radius:10px;background:var(--event-bg);padding:20px;margin-top:15px}.ipcal__source h2{font-size:22px}.ipcal__source p{margin:10px 0}.ipcal__source a{text-decoration:underline}.ipcal__source>span{font-size:12px}.ipcal__event-date-badge{font-size:13px;font-weight:600;margin:18px 0 8px!important}
@media(min-width:1450px){.ipcal__year-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.ipcal__wrap{padding:0 24px}.ipcal__hero{padding:30px}.ipcal__stamp{display:none}.ipcal__year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ipcal__day{padding:6px;min-height:100px}}
@media(max-width:640px){.ipcal{padding:20px 0 36px}.ipcal__wrap{padding:0 16px}.ipcal__hero{border-radius:15px;padding:25px 22px;margin-bottom:22px}.ipcal__intro p{font-size:14px}.ipcal__eyebrow{font-size:10px}.ipcal__toolbar{gap:10px;flex-wrap:wrap}.ipcal__years button{font-size:16px;padding:8px 24px}.ipcal__views button{font-size:12px;padding:9px 12px}.ipcal__filters{gap:6px}.ipcal__filters button{font-size:11px;padding:7px 10px}.ipcal__year-grid{gap:10px}.ipcal__card-top{padding:13px 12px 9px;gap:5px}.ipcal__card-top h2{font-size:16px}.ipcal__month-number{font-size:9px;padding:3px 5px}.ipcal__mini{padding:0 10px 10px;gap:2px}.ipcal__mini-day{font-size:9px}.ipcal__mini-label{font-size:8px}.ipcal__month-events{padding:0 10px 10px}.ipcal__event-card{padding:8px}.ipcal__event-card strong{font-size:11px}.ipcal__event-card span{font-size:10px}.ipcal__empty-month{font-size:10px;padding:8px;min-height:50px}.ipcal__month-open{padding:10px 12px;font-size:10px}.ipcal__month-panel{padding:16px}.ipcal__month-heading h2{font-size:22px}.ipcal__calendar-scroll{display:none}.ipcal__mobile-month{display:block}.ipcal__mobile-month .ipcal__event-card{padding:15px;margin-bottom:12px}.ipcal__mobile-month .ipcal__event-card strong{font-size:15px}.ipcal__mobile-month .ipcal__event-card span{font-size:12px}.ipcal__status{margin-top:18px}.ipcal__dialog{padding:23px}}
@media(prefers-reduced-motion:reduce){.ipcal *{transition:none!important}}

.ipcal--custom{--event-accent:#28625e;--event-bg:#28625e;--event-ink:#fff}.ipcal__image-wrap{margin:0 0 22px;border-radius:11px;overflow:hidden;background:#f3f6f1}.ipcal__dialog-image{display:block;width:100%;height:auto;max-height:340px;object-fit:contain}.ipcal__image-status{font-size:12px;color:#687f72;margin-bottom:14px!important}.ipcal__image-help{font-size:12px;color:#775710;background:#fff6d8;padding:12px;border-radius:8px;margin-top:15px!important}.ipcal__dialog-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.ipcal__dialog-links .ipcal__event-link{margin-top:0}.ipcal__map-link{display:inline-flex;align-items:center;padding:10px 17px;border:1px solid var(--ipcal-accent);color:var(--ipcal-accent)!important;border-radius:9px;text-decoration:none!important;font-weight:600}.ipcal__image-wrap[hidden]{display:none}@media(max-width:640px){.ipcal__dialog-image{max-height:270px}.ipcal__dialog-links>a{font-size:13px}}
