.kmasp{--ink:#23144d;--purple:#7029a1;--teal:#087c80;color:var(--ink);line-height:1.85;margin:1rem auto;max-width:1200px;padding-inline:clamp(.65rem,2vw,1.5rem);overflow-wrap:anywhere}
.kmasp *{box-sizing:border-box}
.kmasp section{margin-block:1.6rem}
.kmasp-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:1.5rem;background:linear-gradient(135deg,#f5e8ff,#f7f0ff 60%,#d8f3f2);border-radius:2rem;padding:clamp(1rem,4vw,3rem);overflow:hidden}
.kmasp-hero h2{font-size:clamp(1.55rem,4vw,2.8rem);line-height:1.45;margin:.5rem 0}
.kmasp-hero span{font-weight:800;color:var(--purple)}
.kmasp-button,.kmasp-secondary{border:1px solid var(--purple);border-radius:2rem;padding:.45rem 1rem;display:inline-block;margin:.2rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.kmasp-button{background:var(--purple);color:white!important}
.kmasp-secondary{background:white;color:var(--purple)!important}
.kmasp-visual{min-height:225px;position:relative;isolation:isolate;border-radius:55% 35% 50% 32%;background:linear-gradient(145deg,#6f27a3,#a452d8 58%,#09aeb1);overflow:hidden}
.kmasp-visual i{position:absolute;background:#ffffff55;border-radius:50%;width:90px;height:90px;inset:14% 15% auto auto}
.kmasp-visual i:nth-child(2){width:130px;height:130px;inset:45% 54% auto auto}
.kmasp-visual i:nth-child(3){width:42px;height:42px;inset:23% 75% auto auto}
.kmasp-search,.kmasp-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));align-items:end}
.kmasp-grid{align-items:stretch}
.kmasp-grid article,.kmasp-search,.kmasp-note,.kmasp #kmasp-request{padding:1rem;border:1px solid #e5d7f1;border-radius:1rem;background:#fff}
.kmasp-grid article:nth-child(3n+1){background:#f6ecff}
.kmasp-grid article:nth-child(3n+2){background:#eaf8f7}
.kmasp small{color:var(--teal);font-weight:700}
.kmasp label{display:block;font-weight:650;margin-bottom:.55rem}
.kmasp input:not([type=hidden]),.kmasp select,.kmasp textarea{display:block;width:100%;min-width:0;padding:.5rem;border:1px solid #82739a;border-radius:.6rem;background:white;color:var(--ink);font:inherit}
.kmasp :focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:650px){.kmasp-hero{grid-template-columns:1fr}.kmasp-visual{min-height:115px}.kmasp-search{grid-template-columns:1fr}}
body.kmasp-page{margin:0;background:#fff;color:#21134d}
.kmasp-page #kmasp-main{width:100%;max-width:none}
.kmasp-page .kmasp{width:min(100%,1510px);max-width:none;margin:0 auto;padding-inline:clamp(.85rem,3vw,2rem)}
.kmasp-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:.9rem;border-bottom:1px solid #eadff1}
.kmasp-bar a{text-decoration:none;color:var(--ink)}
.kmasp-bar nav{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem 1.3rem}
.kmasp-brand{display:grid;line-height:1.4}
.kmasp-brand strong{font-size:1.25rem;color:var(--purple)}
.kmasp .kmasp-hero{position:relative;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:0;padding:0;margin-block:.9rem 0;min-height:265px;background:linear-gradient(125deg,#eeddfa,#faf4ff)}
.kmasp-intro{padding:clamp(1.1rem,3vw,2.6rem)}
.kmasp-hero h1{font-size:clamp(1.5rem,2.8vw,2.75rem);line-height:1.45;margin:0;color:var(--ink)}
.kmasp-hero-image{display:block;width:100%;height:100%;min-height:265px;object-fit:cover;object-position:center;border-radius:0 15% 15% 0}
.kmasp .kmasp-hero{grid-template-columns:minmax(0,36fr) minmax(0,64fr)}
.kmasp-hero-image{min-height:0;object-position:65% center}
.kmasp #kmasp-catalog{position:relative;margin-top:-.65rem;scroll-margin-block-start:1rem}
.kmasp-search{margin-inline:clamp(0rem,4vw,4rem);border-radius:1.4rem;box-shadow:0 .35rem 1.5rem #58278d20}
.kmasp-search label{margin:0}
.kmasp-search button{background:var(--teal);border-color:var(--teal);margin:0;min-height:44px}
.kmasp-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.75rem;margin-block:1.1rem}
.kmasp-categories a{display:grid;place-items:center;min-height:4rem;padding:.65rem;text-align:center;border:2px solid transparent;border-radius:1rem;background:#e8f8f2;color:var(--ink);text-decoration:none;font-weight:750}
.kmasp-categories a:nth-child(2n){background:#f3e9ff}
.kmasp-categories a:nth-child(3n){background:#e5f5ff}
.kmasp-categories a:nth-child(4n){background:#fff3df}
.kmasp-categories a[aria-current],.kmasp-categories a:hover{border-color:var(--purple)}
.kmasp summary{font-size:1.1rem;font-weight:750;cursor:pointer;padding:.35rem}
.kmasp details[open]>summary{margin-bottom:.65rem}
.kmasp-directory-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));margin-block:.75rem 1.2rem}
.kmasp-directory-grid h3{margin:.35rem 0;font-size:1.05rem}
.kmasp-directory-grid p{margin:.25rem 0}
.kmasp-directory-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f3edf8;border-radius:.65rem}
.kmasp-directory-grid .kmasp-portrait{aspect-ratio:1}
.kmasp-showcase{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;margin-block:.75rem 1rem}
.kmasp-showcase a{display:grid;background:#faf5ff;color:var(--ink);text-decoration:none;border-radius:1rem;overflow:hidden;box-shadow:0 .25rem .9rem #33245a25}
.kmasp-showcase img{width:100%;height:auto;aspect-ratio:230/133;object-fit:cover}
.kmasp-showcase strong{padding:.5rem;text-align:center}
.kmasp-event-banner{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:1rem;padding:1rem;background:#f0e3fb;border-radius:1.4rem;margin-block:1rem 1.6rem}
.kmasp-event-banner img{width:100%;height:auto;border-radius:1rem}
.kmasp-event-banner h2,.kmasp-event-banner p{margin:0 0 .35rem}
.kmasp-search{grid-template-columns:1.6fr 1fr 1fr 1fr auto}
.kmasp-date{position:relative;min-width:0}
.kmasp-date.has-calendar>input{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden}
.kmasp-date [data-open]{width:100%;min-height:44px;text-align:right}
.kmasp-date button{font:inherit;color:var(--ink);background:#fff;border:1px solid #b5a5c8;border-radius:.65rem;padding:.35rem .6rem;cursor:pointer}
.kmasp-date button:disabled{color:#787583;background:#f3f1f5;cursor:default}
.kmasp-date dialog{width:min(calc(100vw - 1.5rem),390px);max-height:90vh;padding:1rem;border:1px solid #d6c7ea;border-radius:1.15rem;color:var(--ink);background:#fff;box-shadow:0 1rem 3rem #1b10354d}
.kmasp-date dialog::backdrop{background:#24144480}
.kmasp-calendar-top,.kmasp-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}
.kmasp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;text-align:center}
.kmasp-calendar-grid button{padding:.2rem;min-height:39px}
.kmasp-calendar-grid button[aria-pressed=true]{background:var(--purple);color:#fff;border-color:var(--purple)}
.kmasp-weekdays{margin-bottom:.35rem;color:#51426c}
.kmasp-date [data-clear]{margin-top:.65rem}
.kmasp #kmasp-request fieldset{min-width:0;border:1px solid #e5d7f1;border-radius:1rem;padding:.9rem;margin:1rem 0}
.kmasp #kmasp-request legend{font-weight:800;padding-inline:.4rem}
.kmasp-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.55rem;align-items:start}
.kmasp-options label:has(input[type=checkbox]){display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;background:#f6effc;border-radius:.6rem;margin:0}
.kmasp .kmasp-options input[type=checkbox]{width:1.15rem;height:1.15rem;flex:none;accent-color:var(--purple)}
@media(max-width:1000px){.kmasp-showcase{grid-template-columns:repeat(3,minmax(0,1fr))}.kmasp-search{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.kmasp-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.kmasp-search,.kmasp-event-banner{grid-template-columns:1fr}}
@media(max-width:740px){
 .kmasp .kmasp-hero{grid-template-columns:1fr}
 .kmasp-hero-image{height:auto;min-height:0;aspect-ratio:1445/447;border-radius:0}
 .kmasp #kmasp-catalog{margin-top:.8rem}
 .kmasp-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
}
