/* Regional Coach 3.3.9 LTS stability and UX backports */
.ac-site-header__inner{width:min(calc(100% - 40px),1600px);grid-template-columns:minmax(210px,auto) minmax(0,1fr) auto;gap:clamp(18px,2vw,34px)}
.ac-brand{min-width:0}.ac-brand__link{min-width:0}.ac-brand__location{max-width:190px;line-height:1.15}.ac-primary-nav{min-width:0}.ac-menu{justify-content:center;gap:clamp(14px,1.35vw,26px)}.ac-menu a{font-size:clamp(.82rem,.74rem + .12vw,.94rem);white-space:nowrap}.ac-header-tools{white-space:nowrap}
@media (max-width:1320px){.ac-site-header__inner,.animalcoach-preset-zurich .ac-site-header__inner{grid-template-columns:1fr auto;grid-template-areas:"brand toggle";min-height:82px}.ac-brand{grid-area:brand}.ac-nav-toggle{grid-area:toggle;display:block}.ac-primary-nav{position:fixed;inset:82px 0 auto 0;display:none;max-height:calc(100vh - 82px);overflow:auto;background:#fff;border-top:1px solid var(--ac-border);box-shadow:0 22px 50px rgba(0,0,0,.1);padding:18px 28px 28px;z-index:95}.ac-primary-nav.is-open{display:block}.ac-menu{display:block}.ac-menu a,.animalcoach-preset-zurich .ac-menu a{padding:13px 0;font-size:1rem}.ac-header-tools{display:none}.ac-mobile-nav-actions{display:grid;gap:10px;margin-top:18px}.ac-header-action--mobile{display:inline-flex!important;width:100%}.animalcoach-preset-zurich .ac-site-header__inner{grid-template-areas:"brand toggle"}.animalcoach-preset-zurich .ac-primary-nav{grid-area:auto}}
@media (max-width:760px){.ac-site-header__inner{width:min(calc(100% - 28px),1600px)}.ac-brand__image{max-width:145px}.ac-brand__location{max-width:155px;font-size:.72rem}}

/* Third Fresh floating card. */
.ac-fresh-float--3{right:20px;bottom:22px}.ac-fresh-float--3 img{object-position:center}
@media(max-width:980px){.ac-fresh-float--3{right:8px;bottom:18px}}
@media(max-width:620px){.ac-fresh-float{position:static;width:100%;margin-top:10px}.ac-fresh-hero__visual{display:grid;gap:8px;min-height:0}.ac-fresh-hero__visual>.ac-media{height:auto;aspect-ratio:4/5}.ac-fresh-float{grid-template-columns:52px 1fr}.ac-fresh-float img{width:52px;height:52px}}

/* Inner hero focus and stable responsive height. */
.ac-page-hero.has-image{min-height:clamp(340px,32vw,560px)}
.ac-page-hero__picture img{object-position:var(--ac-focus-x,50%) var(--ac-focus-y,50%)}
@media(max-width:759px){.ac-page-hero.has-image{min-height:clamp(320px,72vw,520px)}.ac-page-hero__picture img{object-position:var(--ac-focus-mobile-x,var(--ac-focus-x,50%)) var(--ac-focus-mobile-y,var(--ac-focus-y,50%))}}

/* Team functions and qualifications. */
.ac-team-functions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}.ac-team-functions span{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--ac-soft);border:1px solid var(--ac-border);font-size:.84rem;font-weight:750}.ac-specialty-tags{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.ac-specialty-tag{display:inline-block;max-width:100%;padding:7px 10px;border:1px solid var(--ac-border);border-radius:999px;font-size:.74rem;font-weight:700;line-height:1.25}.ac-specialty-tag--more{background:var(--ac-soft)}
.ac-qualification-layout{display:grid;gap:28px}.ac-qualification-block{padding:clamp(20px,3vw,34px);background:var(--ac-soft);border-radius:18px}.ac-qualification-items{display:grid;gap:0}.ac-qualification-item{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid rgba(24,48,41,.12)}.ac-qualification-item:last-child{border-bottom:0}.ac-qualification-item p{margin:.35rem 0 0}.ac-qualification-meta{font-size:.84rem;color:var(--ac-muted)}.ac-qualification-block--specialties{background:transparent;border:1px solid var(--ac-border)}

/* Partner semantic rows. */
.ac-partner-category{margin:0 0 6px;color:var(--ac-accent);font-size:.72rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.ac-partner-badge{margin:0 0 18px;color:var(--ac-dark);font-size:.9rem;font-weight:750}.ac-partner-card__footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px}.ac-disclosure{display:inline-flex;padding:6px 9px;border-radius:6px;background:var(--ac-soft);font-size:.72rem;font-weight:750;color:var(--ac-muted)}.ac-partner-card.is-featured{border-color:color-mix(in srgb,var(--ac-accent) 55%,var(--ac-border));box-shadow:0 18px 52px rgba(20,35,25,.12)}.ac-partner-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:2rem;font-weight:800;color:var(--ac-muted)}

/* News magazine. */
.ac-news-magazine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}.ac-news-magazine-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--ac-border);border-radius:var(--ac-radius);overflow:hidden}.ac-news-magazine-card.is-featured{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.ac-news-magazine-card__media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--ac-soft)}.ac-news-magazine-card.is-featured .ac-news-magazine-card__media{height:100%;aspect-ratio:auto}.ac-news-magazine-card__media img{width:100%;height:100%;object-fit:cover}.ac-news-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,var(--ac-soft),#fff);color:var(--ac-muted);font-size:2rem;font-weight:850}.ac-news-magazine-card__body{padding:26px}.ac-news-magazine-card time{color:var(--ac-muted);font-size:.78rem}.ac-news-magazine-card h2{font-size:clamp(1.35rem,2vw,2.15rem);line-height:1.1;margin:.55rem 0 .8rem}.ac-news-magazine-card h2 a{text-decoration:none}.ac-news-magazine-card p{color:var(--ac-muted)}.ac-pagination{margin-top:36px}
@media(max-width:980px){.ac-news-magazine{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-news-magazine-card.is-featured{grid-column:1/-1}}
@media(max-width:640px){.ac-news-magazine{grid-template-columns:1fr}.ac-news-magazine-card.is-featured{display:flex;grid-column:auto}.ac-news-magazine-card.is-featured .ac-news-magazine-card__media{aspect-ratio:3/2;height:auto}}
.ac-share{margin-top:40px;padding:22px;border-top:1px solid var(--ac-border);border-bottom:1px solid var(--ac-border)}.ac-share>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ac-share a,.ac-share button{padding:8px 11px;border:1px solid var(--ac-border);border-radius:999px;background:#fff;color:var(--ac-dark);font:inherit;font-size:.8rem;text-decoration:none;cursor:pointer}.ac-back-to-top-end{text-align:right;margin-top:32px}.ac-back-to-top-float{position:fixed;right:24px;bottom:24px;z-index:70;width:46px;height:46px;border:0;border-radius:50%;background:var(--ac-dark);color:#fff;box-shadow:var(--ac-shadow);cursor:pointer}

/* Method picture. */
.ac-method-picture{display:block;width:100%;height:100%}.ac-method-picture img{width:100%;height:100%;object-fit:cover}
.ac-footer-logo{display:block;max-width:190px;max-height:78px;object-fit:contain;object-position:left center}
/* Keep magazine cards visually balanced even with very long titles/excerpts. */
.ac-news-magazine-card h2 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.ac-news-magazine-card__body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.ac-news-magazine-card.is-featured h2 a{-webkit-line-clamp:4}

/* Regional Coach 3.3.12 – desktop breathing room without changing tablet/mobile. */
@media(min-width:1400px){
  .ac-front-page .ac-container{width:min(calc(100% - 72px),1440px)}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-hero{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(64px,6vw,104px)}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-hero__visual{min-height:700px}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-hero__visual>.ac-media{height:660px}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-float--1{left:-70px;bottom:96px}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-float--2{right:-48px;top:72px}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-float--3{right:-30px;bottom:22px}
}

/* Mobile contact page: the later desktop rule must never push the form off-screen. */
@media(max-width:980px){
  .ac-contact-layout,.ac-contact-layout--balanced,.ac-contact-layout--contact,.ac-contact-layout--form{grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%;min-width:0;overflow:visible}
  .ac-contact-layout>*{min-width:0;max-width:100%}
  .ac-contact-details{order:1;width:100%;box-sizing:border-box}
  .ac-contact-form-card{order:2;width:100%;min-width:0;box-sizing:border-box}
  .ac-contact-form,.ac-contact-form-wrap{width:100%;min-width:0;max-width:100%}
  .ac-map-section{order:3;width:100%;min-width:0}
}

/* News: featured story owns its own full row; remaining stories form a clean grid. */
.ac-news-magazine{align-items:stretch}
.ac-news-magazine-card.is-featured{grid-column:1/-1;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);min-height:410px}
.ac-news-magazine-card.is-featured .ac-news-magazine-card__media{min-height:410px}
.ac-news-magazine-card__media.is-placeholder{display:grid;place-items:center}
.ac-news-fallback-image{width:100%;height:100%;object-fit:cover}
.ac-news-fallback-image--logo{object-fit:contain!important;padding:clamp(34px,7vw,90px);box-sizing:border-box;background:linear-gradient(135deg,var(--ac-soft),#fff)}
.ac-news-placeholder--empty{min-height:100%;background:linear-gradient(135deg,var(--ac-soft),rgba(255,255,255,.75))}
@media(max-width:980px){.ac-news-magazine-card.is-featured{grid-template-columns:1fr 1fr;min-height:340px}.ac-news-magazine-card.is-featured .ac-news-magazine-card__media{min-height:340px}}
@media(max-width:640px){.ac-news-magazine-card.is-featured{display:flex;min-height:0}.ac-news-magazine-card.is-featured .ac-news-magazine-card__media{min-height:0}}

/* Team legacy qualifications preserve intentional paragraph breaks. */
.ac-qualification-block--legacy .ac-qualification-prose{max-width:78ch;color:var(--ac-dark);line-height:1.75}
.ac-qualification-block--legacy .ac-qualification-prose p{margin:0 0 1.05rem}.ac-qualification-block--legacy .ac-qualification-prose p:last-child{margin-bottom:0}

/* Footer social links: local SVG icons, dynamic compact layout. */
.ac-social-links a{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.72);text-decoration:none}.ac-social-links a:hover,.ac-social-links a:focus-visible{color:#fff}
.ac-social-icon{display:inline-grid;place-items:center;width:22px;height:22px}.ac-social-icon svg{display:block;width:20px;height:20px}
.ac-social-links--icons a{width:38px;height:38px;justify-content:center;border:1px solid rgba(255,255,255,.22);border-radius:999px}
.ac-legal-links--solo{margin-top:0}.ac-footer-links-column.has-no-socials .ac-legal-links{padding-top:2px}

/* Public registration wizard. */
.ac-registration-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 28px}
.ac-registration-stepper button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:8px 10px;border:1px solid var(--ac-border);border-radius:999px;background:#fff;color:var(--ac-muted);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.ac-registration-stepper button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ac-soft);color:var(--ac-dark)}
.ac-registration-stepper button.is-active{border-color:var(--ac-dark);background:var(--ac-dark);color:#fff}.ac-registration-stepper button.is-active span{background:#fff;color:var(--ac-dark)}
.ac-registration-stepper button.is-complete{border-color:rgba(63,125,77,.4);color:#315f3b}
.ac-step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:10px}.ac-step-actions .ac-button:only-child{margin-left:auto}
.ac-registration-review{display:grid;gap:10px;padding:18px;border:1px solid var(--ac-border);border-radius:14px;background:var(--ac-soft)}
@media(max-width:720px){.ac-registration-stepper{grid-template-columns:repeat(5,1fr);gap:4px;position:sticky;top:0;z-index:4;background:var(--ac-paper);padding:8px 0}.ac-registration-stepper button{padding:7px 4px;min-height:42px;font-size:0}.ac-registration-stepper button span{font-size:.75rem}.ac-step-actions{display:grid;grid-template-columns:1fr}.ac-step-actions .ac-button{width:100%;margin:0!important}}
.ac-registration-review dl{display:grid;gap:0;margin:0}.ac-registration-review dl>div{display:grid;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid rgba(24,48,41,.12)}.ac-registration-review dl>div:last-child{border-bottom:0}.ac-registration-review dt{font-weight:800;color:var(--ac-dark)}.ac-registration-review dd{margin:0;color:var(--ac-muted)}@media(max-width:560px){.ac-registration-review dl>div{grid-template-columns:1fr;gap:2px}}
@media(min-width:981px){.ac-footer-grid.ac-footer-grid--three{grid-template-columns:1.2fr .9fr 1fr}}

/* 3.3.13: a real stepper; hidden steps must never be forced open by fieldset grid rules. */
.ac-registration-section[hidden]{display:none!important}
.ac-step-inline-error{grid-column:1/-1;margin:10px 0 0}

/* Regional Coach 3.3.13: balanced Fresh hero floating cards on wide desktop. */
@media(min-width:1400px){
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-float{width:min(220px,18vw)}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-float img{width:64px;height:64px}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-float--1{left:-38px;bottom:132px}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-float--2{right:-28px;top:92px}
  .animalcoach-preset-fresh .ac-front-page .ac-fresh-float--3{right:-22px;bottom:82px}
}

/* Regional Coach 3.3.13: compact, swipeable availability strip on course detail pages. */
.ac-course-date-strip-wrap{margin-top:54px;padding-top:38px;border-top:1px solid var(--ac-border)}
.ac-course-date-strip-wrap>h2{margin-bottom:10px}
.ac-course-date-strip-intro{max-width:70ch;margin:0 0 20px;color:var(--ac-muted)}
.ac-course-date-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(104px,128px);gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;padding:4px 2px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.ac-course-date{scroll-snap-align:start;display:grid;gap:5px;min-height:104px;padding:14px 12px;border:1px solid var(--ac-border);border-radius:15px;background:var(--ac-soft);color:var(--ac-muted);text-decoration:none;box-sizing:border-box}
.ac-course-date strong{font-size:1.3rem;line-height:1;color:inherit}.ac-course-date span{font-size:.78rem;font-weight:750}.ac-course-date small{font-size:.7rem;line-height:1.25}
a.ac-course-date{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
a.ac-course-date:hover,a.ac-course-date:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,35,25,.10);outline:0}
.ac-course-date.is-open{background:#e7f3e8;border-color:#8eb99a;color:#214d2d}
.ac-course-date.is-almost-full{background:#f8edcf;border-color:#d8ad4d;color:#72510b}
.ac-course-date.is-full{background:#f5dfdc;border-color:#cc766d;color:#8d2f27}
.ac-course-date.is-empty{background:#eceeea;border-color:#d7dad4;color:#70776f}
.ac-course-date-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;color:var(--ac-muted);font-size:.76rem}
.ac-course-date-legend span{display:inline-flex;align-items:center;gap:6px}.ac-course-date-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;background:#d7dad4}.ac-course-date-legend .is-open i{background:#6fa17a}.ac-course-date-legend .is-almost-full i{background:#d39a24}.ac-course-date-legend .is-full i{background:#bf4438}.ac-course-date-legend .is-empty i{background:#d7dad4}
@media(max-width:640px){.ac-course-date-strip{grid-auto-columns:minmax(94px,112px);margin-inline:-4px;padding-inline:4px}.ac-course-date{min-height:98px;padding:12px 10px}}
/* Match the actual course-detail markup. */
.ac-course-calendar-hint{max-width:70ch;margin:0 0 20px;color:var(--ac-muted)}
.ac-course-calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;color:var(--ac-muted);font-size:.76rem}
.ac-course-calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.ac-course-calendar-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:#d7dad4}
.ac-course-calendar-legend .is-open::before{background:#6fa17a}.ac-course-calendar-legend .is-almost-full::before{background:#d39a24}.ac-course-calendar-legend .is-full::before{background:#bf4438}.ac-course-calendar-legend .is-empty::before{background:#d7dad4}
