.btn-primary{background:var(--webto-color-primary,#4a3d99);color:#fff}.btn-primary:hover{background:var(--webto-color-secondary,#4a3d99);color:#fff}.nav-cta{background:var(--webto-color-primary,#4a3d99);color:#fff}.nav-cta:hover{background:var(--webto-color-secondary,#4a3d99);color:#fff}.nav-cta__dot{background:#fff!important;box-shadow:0 0 0 3px rgb(255 255 255 / .3)!important}.page-hero{position:relative;overflow:hidden;background:#fff;display:flex;align-items:center;min-height:clamp(300px,40vw,440px);padding:clamp(2rem,4vw,3rem) 0;border-bottom:1px solid var(--webto-color-border,#e7e7ec)}.page-hero__art{position:absolute;top:0;right:0;bottom:0;width:min(66%,920px);height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(to left,#000 56%,rgb(0 0 0 / .22) 80%,transparent 100%);mask-image:linear-gradient(to left,#000 56%,rgb(0 0 0 / .22) 80%,transparent 100%)}.page-hero__art .dotnet{display:block;width:100%;height:100%}.page-hero__inner{position:relative;z-index:1;max-width:560px;margin-right:auto;text-align:left}.page-hero__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600;color:var(--accent,#1f9fd6);margin:0 0 .75rem}.page-hero__title{font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.08;margin:0;color:var(--webto-color-text,#1a1f1e)}.page-hero__lede{margin:1rem 0 0;font-size:clamp(1.1rem,2.1vw,1.4rem);line-height:1.4;color:var(--webto-color-muted,#6b7280);max-width:42ch}@media (max-width:820px){.page-hero{min-height:0}.page-hero__art{width:100%;opacity:.4;-webkit-mask-image:linear-gradient(to bottom,rgb(0 0 0 / .3),#000);mask-image:linear-gradient(to bottom,rgb(0 0 0 / .3),#000)}.page-hero__inner{max-width:none}}.subpage{padding:clamp(2rem,5vw,3.5rem) 0 clamp(2.5rem,6vw,4.5rem)}.subpage__main{color:var(--webto-color-text,#1a1f1e);line-height:1.75}.subpage__main--full{max-width:72ch}.subpage__heading{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;margin:0 0 1rem;color:var(--webto-color-text,#1a1f1e)}.subpage__main h2,.subpage__main h3{line-height:1.2;margin:1.6em 0 .5em}.subpage__main h2:first-child,.subpage__main h3:first-child{margin-top:0}.subpage__main p{margin:0 0 1.1em}.subpage__main ul{margin:0 0 1.2em;padding-left:1.2em}.subpage__main li{margin:.25em 0}.subpage__contact{font-size:.95rem;background:var(--webto-color-surface,#f6f7f9);border:1px solid var(--webto-color-border,#e7e7ec);border-radius:14px;padding:1.25rem 1.4rem}.subpage__contact h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .6rem;color:var(--webto-color-muted,#7e8480)}.subpage__contact address{font-style:normal;display:flex;flex-direction:column;gap:.2rem}.subpage__contact a{color:var(--webto-color-primary,#4a3d99);text-decoration:none}.subpage__contact a:hover{text-decoration:underline}.about-team{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4.5vw,3.5rem);margin:clamp(2.5rem,6vw,4rem) 0 0}.about-person{display:grid;grid-template-columns:1fr minmax(110px,150px);gap:clamp(1.1rem,2.5vw,1.6rem);align-items:center;background:var(--webto-color-surface,#f6f7f9);border:1px solid var(--webto-color-border,#e7e7ec);border-radius:18px;padding:clamp(1.4rem,2.5vw,1.9rem)}.about-person__photo{width:100%;aspect-ratio:1;border-radius:16px;object-fit:cover;object-position:top;background:#e7e7ec;display:block}.about-person__name{margin:0;font-size:1.35rem;color:var(--webto-color-text,#1a1f1e)}.about-person__role{margin:.15rem 0 .8rem;color:var(--webto-color-primary,#4a3d99);font-size:.95rem;font-weight:600}.about-person__bio{margin:0;color:var(--webto-color-muted,#7e8480);line-height:1.65}\n@media(max-width:900px){.about-team{grid-template-columns:1fr}}\n@media(max-width:480px){.about-person{grid-template-columns:1fr}.about-person__media{order:-1;max-width:190px}}.course-section{margin-top:clamp(2rem,5vw,3rem)}.course-section__title{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 1.2rem}.course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.course{display:grid;grid-template-columns:210px 1fr auto;gap:1.25rem;align-items:center;padding:1.1rem 1.3rem;background:#fff;border:1px solid var(--webto-color-border,#e7e7ec);border-left:4px solid var(--webto-color-primary,#4a3d99);border-radius:12px}.course__when{display:flex;flex-direction:column}.course__date{font-weight:700;color:var(--webto-color-text,#1a1f1e)}.course__time{font-size:.9rem;color:var(--webto-color-muted,#7e8480)}.course__title{margin:0;font-size:1.15rem}.course__loc,.course__desc{margin:.25rem 0 0;font-size:.92rem;color:var(--webto-color-muted,#7e8480)}.course__cta .btn.is-disabled{opacity:.6;cursor:default}.course-empty{color:var(--webto-color-muted,#7e8480);font-style:italic}@media (max-width:720px){.course{grid-template-columns:1fr;gap:.5rem}.course__cta{justify-self:start}}.front-intro{padding:clamp(2rem,5vw,3rem) 0 0;max-width:64ch}.front-intro__heading{font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.15;margin:0 0 .7rem;color:var(--webto-color-text,#1a1f1e)}.front-intro p{font-size:clamp(1.1rem,2.2vw,1.3rem);line-height:1.6;color:var(--webto-color-muted,#7e8480)}.highlights{padding:clamp(2.5rem,6vw,4rem) 0 0}.highlights__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.highlight-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--webto-color-border,#e7e7ec);border-radius:18px;padding:1.9rem 1.8rem;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.highlight-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgb(0 0 0 / .08);border-color:#fff0}.highlight-card__icon{width:56px;height:56px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--card-accent,#4a3d99) 12%,#fff);color:var(--card-accent,#4a3d99);margin-bottom:1.1rem}.highlight-card__icon svg{width:30px;height:30px}.highlight-card__title{font-size:1.4rem;margin:0 0 .5rem;color:var(--card-accent,#4a3d99)}.highlight-card__text{margin:0 0 1.1rem;color:var(--webto-color-muted,#7e8480);line-height:1.55}.highlight-card__more{margin-top:auto;font-weight:600;font-size:.92rem;color:var(--card-accent,#4a3d99)}.front-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin:clamp(2.5rem,6vw,4.5rem) 0 0}.front-feature--reverse .front-feature__media{order:-1}.front-feature__title{font-size:clamp(1.6rem,3.2vw,2.2rem);line-height:1.15;margin:0 0 .7rem;color:var(--webto-color-text,#1a1f1e)}.front-feature__text{color:var(--webto-color-muted,#7e8480);line-height:1.65;margin-bottom:1.3rem}.front-feature__text p{margin:0 0 .8em}.front-feature__img{width:100%;height:auto;border-radius:20px;display:block}.front-feature{grid-template-columns:1.4fr .6fr}.front-feature__media{width:100%;max-width:340px;justify-self:center}.front-feature--reverse{grid-template-columns:.6fr 1.4fr}.media-placeholder{aspect-ratio:4/3;background:var(--webto-color-surface,#f6f7f9);border:1px dashed var(--webto-color-border,#d8d8df);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--webto-color-muted,#9aa0a6);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.media-placeholder__icon{width:42px;height:42px;opacity:.5}@media (max-width:820px){.front-feature{grid-template-columns:1fr}.front-feature--reverse .front-feature__media{order:0}}.front-cta{margin:clamp(2.5rem,6vw,4rem) 0 clamp(2rem,5vw,3rem);padding:clamp(2.2rem,5vw,3.2rem);background:var(--webto-color-primary,#4a3d99);color:#fff;border-radius:20px;text-align:center}.front-cta h2{margin:0 0 .5rem;font-size:clamp(1.6rem,3.5vw,2.2rem);color:#fff}.front-cta p{margin:0 0 1.5rem;opacity:.9}.front-cta .btn-primary{background:#fff;color:var(--webto-color-primary,#4a3d99)}.front-cta .btn-primary:hover{background:#fff;color:var(--webto-color-secondary,#4a3d99);transform:translateY(-1px)}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}.contact-intro{margin-bottom:1.2rem;color:var(--webto-color-muted,#7e8480);line-height:1.6}.contact-form .wpcf7-form p{margin:0 0 1.1rem}.contact-form .wpcf7-form label{display:block;font-weight:600;font-size:.92rem;color:var(--webto-color-text,#1a1f1e)}.contact-form .wpcf7-form input[type=text],.contact-form .wpcf7-form input[type=email],.contact-form .wpcf7-form input[type=tel],.contact-form .wpcf7-form textarea{width:100%;box-sizing:border-box;margin-top:.35rem;padding:.8rem .95rem;border:1px solid var(--webto-color-border,#d8d8df);border-radius:12px;background:#fff;font:inherit;color:var(--webto-color-text,#1a1f1e);transition:border-color .15s ease,box-shadow .15s ease}.contact-form .wpcf7-form input:focus,.contact-form .wpcf7-form textarea:focus{outline:none;border-color:var(--webto-color-primary,#4a3d99);box-shadow:0 0 0 3px color-mix(in srgb,var(--webto-color-primary,#4a3d99) 18%,transparent)}.contact-form .wpcf7-form textarea{min-height:150px;resize:vertical}.contact-form .wpcf7-submit{display:inline-flex;align-items:center;margin-top:.3rem;padding:14px 28px;border:none;border-radius:999px;background:var(--webto-color-primary,#4a3d99);color:#fff;font-size:14.5px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .2s ease}.contact-form .wpcf7-submit:hover{background:var(--webto-color-secondary,#4a3d99);transform:translateY(-1px)}.contact-form .wpcf7-spinner{margin:0 0 0 .6rem}.contact-form .fluentform .ff-el-group{margin:0 0 1.1rem}.contact-form .fluentform .ff-el-input--label label{font-weight:600;font-size:.92rem;color:var(--webto-color-text,#1a1f1e)}.contact-form .fluentform .ff-el-input--label{margin-bottom:.35rem}.contact-form .fluentform .ff-el-form-control{width:100%;box-sizing:border-box;padding:.8rem .95rem;border:1px solid var(--webto-color-border,#d8d8df);border-radius:12px;background:#fff;font:inherit;color:var(--webto-color-text,#1a1f1e);transition:border-color .15s ease,box-shadow .15s ease}.contact-form .fluentform .ff-el-form-control:focus{outline:none;border-color:var(--webto-color-primary,#4a3d99);box-shadow:0 0 0 3px color-mix(in srgb,var(--webto-color-primary,#4a3d99) 18%,transparent)}.contact-form .fluentform textarea.ff-el-form-control{min-height:150px;resize:vertical}.contact-form .fluentform .ff-btn-submit{display:inline-flex;align-items:center;margin-top:.3rem;padding:14px 28px;border:none;border-radius:999px;background:var(--webto-color-primary,#4a3d99)!important;color:#fff!important;font-size:14.5px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .2s ease}.contact-form .fluentform .ff-btn-submit:hover{background:var(--webto-color-secondary,#6d5dbe)!important;transform:translateY(-1px);opacity:1}.contact-form .fluentform .error.text-danger{color:var(--webto-color-10,#b91c1c);font-size:.85rem;margin-top:.35rem}.contact-form .fluentform .ff-el-is-error .ff-el-form-control{border-color:var(--webto-color-10,#b91c1c)}.contact-form .ff-message-success{border:1px solid var(--webto-color-border,#e7e7ec);border-left:4px solid var(--webto-color-9,#2da06b);border-radius:12px;padding:1rem 1.2rem;background:#fff;box-shadow:none}.contact-form .ff-message-success p{margin:0}.team-cards{display:grid;grid-template-columns:1fr;gap:1rem}.team-card{display:flex;gap:1.1rem;align-items:center;background:var(--webto-color-surface,#f6f7f9);border:1px solid var(--webto-color-border,#e7e7ec);border-radius:16px;padding:1.2rem}.team-card__photo{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:top;flex:0 0 auto;background:#e7e7ec}.team-card__name{margin:0;font-size:1.15rem}.team-card__role{margin:.1rem 0 .5rem;color:var(--webto-color-muted,#7e8480);font-size:.92rem}.team-card a{color:var(--webto-color-primary,#4a3d99);text-decoration:none;display:block;font-size:.92rem}.team-card a:hover{text-decoration:underline}@media (max-width:900px){.contact-layout{grid-template-columns:1fr}}.site-logo__image{max-height:96px;width:auto;height:auto}.foot-logo .site-logo__image{max-height:118px}@media(max-width:600px){.site-logo__image{max-height:66px}}.foot-grid{grid-template-columns:1.05fr 1fr 1fr 1fr 1fr}.foot-col--pages{grid-column:span 2}.foot-col--pages .footer-menu{column-count:2;column-gap:48px}.foot-col--pages .footer-menu li{break-inside:avoid}@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.foot-grid{grid-template-columns:1fr}.foot-col--pages{grid-column:auto}}