.s365-hero{background:#fff}.s365-hero__grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(2.5rem,4.5vw,4.5rem);align-items:center;padding-block:clamp(2.75rem,4vw,4.25rem) 1.75rem}.s365-hero__copy{min-width:0}.s365-hero__copy h1{max-width:12.8ch;font-size:clamp(2.7rem,4vw,3.8rem);line-height:1.08;text-wrap:balance}.s365-hero__intro{max-width:37rem;margin-top:1.2rem;color:var(--s365-muted);font-size:clamp(1rem,1.08vw,1.13rem);line-height:1.58}.s365-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem 1.1rem;align-items:center;margin-top:1.55rem}.s365-hero__media{height:22rem;border-radius:var(--s365-radius-lg);overflow:hidden;background:var(--s365-surface)}.s365-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center center}.s365-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:-1.65rem;border:1px solid var(--s365-border);border-radius:var(--s365-radius-lg);background:rgba(255,255,255,.98);box-shadow:0 10px 24px rgba(24,51,78,.055);overflow:hidden}.s365-metric{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;padding:.9rem 1.25rem;border-left:1px solid var(--s365-border)}.s365-metric:first-child{border-left:0}.s365-metric strong{display:block;color:var(--s365-text);font-size:.97rem}.s365-metric div>span{display:block;color:var(--s365-muted);font-size:.83rem}.s365-metric>.s365-icon-circle{display:grid;color:var(--s365-blue);background:var(--s365-blue-soft)}.s365-metric>.s365-icon-circle svg{width:1.45rem;height:1.45rem}.s365-announcement{padding-top:4.65rem;padding-bottom:3.8rem}.s365-announcement__card{display:grid;grid-template-columns:minmax(13rem,.58fr) minmax(0,1.42fr);min-height:18rem;border:1px solid var(--s365-border);border-radius:var(--s365-radius-lg);overflow:hidden;background:var(--s365-navy);color:#fff}.s365-announcement__visual{min-height:18rem;background:linear-gradient(135deg,#0a6fba,#71afd9);display:grid;place-items:center;padding:1.65rem}.s365-announcement__visual.has-image{padding:0;background:#0a6fba}.s365-announcement__visual.has-image img{width:100%;height:100%;min-height:18rem;object-fit:cover}.s365-announcement__poster{width:min(100%,13.8rem);aspect-ratio:4/5;border-radius:12px;background:linear-gradient(180deg,#103e77 0 38%,#1b81bf 38% 100%);padding:1.25rem;color:#fff;box-shadow:0 16px 34px rgba(0,0,0,.14)}.s365-announcement__poster small{color:#ffb27b;font-weight:700}.s365-announcement__poster strong{display:block;margin-top:.45rem;font-size:1.6rem;line-height:1.05}.s365-announcement__body{display:flex;align-items:center;padding:clamp(2rem,3.4vw,3.15rem)}.s365-announcement__body h2{max-width:19ch;color:#fff;font-size:clamp(1.95rem,2.8vw,2.85rem);text-wrap:balance}.s365-announcement__body p{max-width:42rem;margin-top:.9rem;color:rgba(255,255,255,.84);font-size:.98rem}.s365-announcement__body .s365-button{margin-top:1.25rem}.s365-eyebrow--light{color:#c8dff3}.s365-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.s365-event{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.1rem}.s365-event__date{display:grid;width:4.1rem;height:4.1rem;place-items:center;align-content:center;border-radius:12px;background:var(--s365-blue-soft);color:var(--s365-navy);line-height:1}.s365-event__date strong{font-size:1.4rem}.s365-event__date span{margin-top:.2rem;font-size:.7rem;font-weight:800}.s365-event h3{margin:.1rem 0 .4rem;font-size:1rem}.s365-event__meta{display:flex;flex-wrap:wrap;gap:.6rem;color:var(--s365-muted);font-size:.8rem}.s365-event__meta span{display:inline-flex;align-items:center;gap:.3rem}.s365-event__meta svg{width:.92rem;height:.92rem}.s365-downloads{background:var(--s365-surface)}.s365-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(15rem,.86fr);gap:1rem}.s365-download-teaser{overflow:hidden}.s365-download-teaser__head{display:flex;gap:.7rem;align-items:center;padding:1rem 1rem .15rem}.s365-download-teaser__preview{height:auto;aspect-ratio:16/10;margin:.8rem 1rem;background:linear-gradient(135deg,#e6edf2,#f9fbfc);border-radius:11px;filter:blur(2px);opacity:.9;overflow:hidden}.s365-download-teaser__foot{display:flex;align-items:center;gap:.45rem;padding:.15rem 1rem 1rem;color:var(--s365-muted);font-size:.8rem}.s365-download-teaser__foot svg{width:1rem;height:1rem}.s365-download-lock{display:flex;flex-direction:column;justify-content:center;min-height:0}.s365-download-lock h3{margin:.8rem 0 .5rem;font-size:1.16rem}.s365-download-lock p{color:var(--s365-muted);font-size:.92rem}.s365-download-lock .s365-button{align-self:flex-start;margin-top:1rem}.s365-partner-intro{display:grid;grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr);gap:2.6rem;align-items:end;margin-bottom:1.35rem}.s365-partner-intro h2{font-size:clamp(1.9rem,2.8vw,2.6rem);text-wrap:balance}.s365-partner-intro__copy p{max-width:46rem;color:var(--s365-muted)}.s365-partners{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.s365-partner-card{position:relative;min-height:12rem;border:1px solid var(--s365-border);border-radius:var(--s365-radius-md);background:#fff;overflow:hidden;box-shadow:0 3px 12px rgba(24,51,78,.02)}.s365-partner-card__inner{position:relative;min-height:12rem}.s365-partner-card__face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem}.s365-partner-card__front{background:#fff}.s365-partner-card__back{align-items:flex-start;justify-content:center;text-align:left;background:var(--s365-navy);color:#fff;transform:translateY(102%);transition:transform .24s ease;z-index:2}.s365-partner-card__back .s365-eyebrow{margin-bottom:.45rem;color:#c8dff3}.s365-partner-card__back p:not(.s365-eyebrow){color:rgba(255,255,255,.84);font-size:.84rem;line-height:1.45}.s365-partner-card__portal{display:inline-flex;align-items:center;gap:.35rem;margin-top:.8rem;padding:.48rem .72rem;border:1px solid rgba(255,255,255,.52);border-radius:999px;color:#fff;font-size:.76rem;font-weight:800;text-decoration:none}.s365-partner-card__portal:hover,.s365-partner-card__portal:focus-visible{background:#fff;color:var(--s365-navy);text-decoration:none}.s365-partner-card__portal svg{width:1rem;height:1rem}.s365-partner-card__logo{display:grid;width:5.2rem;height:5.2rem;aspect-ratio:1/1;place-items:center;margin-bottom:.7rem;border-radius:11px;background:var(--s365-surface);color:var(--s365-navy);font-weight:900;font-size:.72rem;line-height:1.1}.s365-partner-card__logo img{width:100%;height:100%;object-fit:contain;padding:.5rem}.s365-partner-card h3{font-size:.98rem}.s365-partner-card__front p{max-width:15rem;margin-top:.3rem;color:var(--s365-muted);font-size:.78rem}.s365-partner-card__info,.s365-partner-card__close{margin-top:.72rem;border:0;background:transparent;color:var(--s365-blue);font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.s365-partner-card__info{display:inline-flex;align-items:center;gap:.35rem}.s365-partner-card__close{color:#fff;text-decoration:underline;text-underline-offset:.2em}.s365-partner-card.is-flipped .s365-partner-card__back,.s365-partner-card:focus-within .s365-partner-card__back{transform:translateY(0)}.s365-partners.is-collapsed [data-s365-partner-extra]{display:none}.s365-partner-toggle{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.1rem;border:1px solid #bed2e1;border-radius:var(--s365-radius-pill);background:#fff;color:var(--s365-blue);padding:.6rem .95rem;font-weight:700;cursor:pointer}.s365-partner-toggle svg{transition:transform .2s ease}.s365-partner-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}#community.s365-section{padding-top:3.1rem;padding-bottom:3.6rem}#community .s365-accent-card{padding-block:1.55rem}#community .s365-accent-card h2{font-size:clamp(1.55rem,2.4vw,2.15rem)}
@media(hover:hover) and (pointer:fine){.s365-partner-card:hover .s365-partner-card__back{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.s365-partner-card__back,.s365-partner-toggle svg{transition:none}}
@media(max-width:1100px){.s365-partners{grid-template-columns:repeat(3,minmax(0,1fr))}.s365-download-grid{grid-template-columns:repeat(2,1fr)}.s365-download-lock{min-height:12rem}}
@media(max-width:980px){.s365-hero__grid{grid-template-columns:1fr;gap:2rem}.s365-hero__copy h1{max-width:15ch}.s365-hero__media{height:19rem}.s365-announcement__card{grid-template-columns:1fr}.s365-announcement__visual{min-height:15rem}.s365-announcement__visual.has-image img{min-height:15rem;max-height:21rem}.s365-event-grid{grid-template-columns:1fr}.s365-partner-intro{grid-template-columns:1fr;gap:.9rem}}
@media(max-width:720px){.s365-partners{grid-template-columns:repeat(2,minmax(0,1fr))}.s365-download-grid{grid-template-columns:1fr}.s365-metrics{grid-template-columns:1fr;margin-bottom:-1.15rem}.s365-metric{border-left:0;border-top:1px solid var(--s365-border)}.s365-metric:first-child{border-top:0}.s365-announcement{padding-top:3.9rem}.s365-hero__media{height:16rem}}
@media(max-width:560px){.s365-hero__copy h1{font-size:2.45rem}.s365-hero__actions{align-items:stretch;flex-direction:column}.s365-hero__actions .s365-button{width:100%}.s365-partners{grid-template-columns:1fr}.s365-partner-card,.s365-partner-card__inner{min-height:11.5rem}}
.s365-metric--link{position:relative;color:inherit;text-decoration:none;grid-template-columns:auto 1fr auto}.s365-metric--link:hover,.s365-metric--link:focus-visible{text-decoration:none;background:#fbfdff}.s365-metric--link>svg{color:var(--s365-blue)}.s365-download-teaser__preview.has-image{filter:none;opacity:1;overflow:hidden}.s365-download-teaser__preview.has-image img{width:100%;height:100%;object-fit:cover}.s365-download-teaser__foot a{display:inline-flex;align-items:center;gap:.35rem;font-weight:800}.s365-download-grid>.s365-empty-state{grid-column:span 3}


/* v0.3.6 refinements */
.s365-download-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.s365-download-teaser{display:flex;flex-direction:column}
.s365-download-teaser__head{padding:1rem 1rem .55rem}
.s365-download-teaser__head strong{font-size:1.04rem;line-height:1.35}
.s365-download-teaser__preview{aspect-ratio:1/1;margin:.55rem 1rem .65rem;border-radius:14px;filter:none;opacity:1;overflow:hidden;background:linear-gradient(135deg,#e8eff5,#f8fbfd);display:grid;place-items:center}
.s365-download-teaser__preview.has-image img{width:100%;height:100%;object-fit:cover}
.s365-download-teaser__placeholder{display:grid;place-items:center;padding:1rem;color:var(--s365-navy);font-weight:800;font-size:.95rem;line-height:1.35;text-align:center}
.s365-download-teaser__foot{padding:.05rem 1rem 1.1rem;font-size:.84rem}
.s365-download-grid>.s365-empty-state{grid-column:1/-1}
.s365-metric--link{position:relative;color:inherit;text-decoration:none;grid-template-columns:auto 1fr auto}
.s365-metric--link:hover,.s365-metric--link:focus-visible{text-decoration:none;background:#fbfdff}
.s365-metric--link>svg{color:var(--s365-blue)}
@media(max-width:1280px){.s365-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.s365-download-grid{grid-template-columns:1fr}}

/* 0.5.1 – accessible announcement carousel, no autoplay */
.s365-announcement-carousel{position:relative}
.s365-announcement-carousel__viewport{position:relative}
.s365-announcement-slide[hidden]{display:none}
.s365-announcement-carousel__controls{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem}
.s365-announcement-carousel__arrow{display:grid;place-items:center;width:2.55rem;height:2.55rem;border:1px solid var(--s365-border);border-radius:999px;background:#fff;color:var(--s365-blue);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.s365-announcement-carousel__arrow:hover,.s365-announcement-carousel__arrow:focus-visible{background:var(--s365-blue-soft);border-color:#b8d4e8}
.s365-announcement-carousel__arrow svg{width:1.1rem;height:1.1rem}
.s365-announcement-carousel__arrow.is-prev svg{transform:rotate(180deg)}
.s365-announcement-carousel__dots{display:flex;align-items:center;justify-content:center;gap:.45rem}
.s365-announcement-carousel__dot{width:.58rem;height:.58rem;padding:0;border:0;border-radius:999px;background:#c7d5e1;cursor:pointer;transition:width .18s ease,background .18s ease}
.s365-announcement-carousel__dot.is-active{width:1.45rem;background:var(--s365-blue)}
.s365-announcement-carousel__dot:focus-visible{outline:2px solid var(--s365-blue);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.s365-announcement-carousel__arrow,.s365-announcement-carousel__dot{transition:none}}

/* 0.5.2 – VR-inspired story opener: active announcement + next teaser */
.s365-announcement-carousel__stage{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(16rem,.85fr);gap:1rem;align-items:stretch}
.s365-announcement-carousel__stage.has-single{grid-template-columns:1fr}
.s365-announcement-slide{min-width:0;transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease}
.s365-announcement-slide.is-active{grid-template-columns:minmax(14rem,.72fr) minmax(0,1.28fr);min-height:21.5rem;background:var(--s365-navy);color:#fff;box-shadow:0 16px 34px rgba(24,51,78,.08)}
.s365-announcement-slide.is-active .s365-announcement__visual,.s365-announcement-slide.is-active .s365-announcement__visual.has-image img{min-height:21.5rem}
.s365-announcement-slide.is-next{grid-template-columns:1fr;grid-template-rows:minmax(12rem,1fr) auto;min-height:21.5rem;background:#fff;color:var(--s365-text);cursor:pointer;box-shadow:0 10px 28px rgba(24,51,78,.055)}
.s365-announcement-slide.is-next:hover,.s365-announcement-slide.is-next:focus-visible{transform:translateY(-2px);border-color:#b7cfdf;box-shadow:0 14px 34px rgba(24,51,78,.09);outline:none}
.s365-announcement-slide.is-next .s365-announcement__visual{min-height:12rem;padding:1.25rem;background:linear-gradient(135deg,#eef5fa,#d9eaf5)}
.s365-announcement-slide.is-next .s365-announcement__visual.has-image{padding:0;background:var(--s365-blue-soft)}
.s365-announcement-slide.is-next .s365-announcement__visual.has-image img{width:100%;height:100%;min-height:12rem;max-height:none;object-fit:cover}
.s365-announcement-slide.is-next .s365-announcement__poster{width:min(9rem,72%);aspect-ratio:1/1;border-radius:14px;padding:1rem;box-shadow:none}
.s365-announcement-slide.is-next .s365-announcement__poster strong{font-size:1.15rem}
.s365-announcement-slide.is-next .s365-announcement__body{align-items:flex-start;padding:1.3rem 1.35rem 1.4rem}
.s365-announcement-slide.is-next .s365-announcement__body h2{max-width:none;color:var(--s365-text);font-size:clamp(1.25rem,1.6vw,1.55rem);line-height:1.16}
.s365-announcement-slide.is-next .s365-announcement__body .s365-eyebrow{display:none}
.s365-announcement-slide.is-next .s365-announcement__excerpt{display:-webkit-box;overflow:hidden;margin-top:.65rem;color:var(--s365-muted);font-size:.88rem;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.s365-announcement-slide.is-next .s365-announcement__cta{display:none}
.s365-announcement__next-label{display:none;margin-bottom:.55rem;color:var(--s365-blue);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.s365-announcement-slide.is-next .s365-announcement__next-label{display:block}
.s365-announcement__activate{display:none;align-items:center;gap:.4rem;margin-top:.85rem;padding:0;border:0;background:transparent;color:var(--s365-blue);font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}
.s365-announcement__activate svg{width:1rem;height:1rem}
.s365-announcement-slide.is-next .s365-announcement__activate{display:inline-flex}
.s365-announcement-slide.is-hidden{display:none}
.s365-announcement-carousel__controls{justify-content:flex-start;padding-left:.15rem}
.s365-announcement-carousel__dot{background:#c9d8e4}
.s365-announcement-carousel__dot.is-active{background:var(--s365-blue)}

@media(max-width:1020px){
  .s365-announcement-carousel__stage{grid-template-columns:minmax(0,1fr) minmax(14rem,.42fr)}
  .s365-announcement-slide.is-active{grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr)}
}
@media(max-width:820px){
  .s365-announcement-carousel__stage{grid-template-columns:1fr;gap:.8rem}
  .s365-announcement-slide.is-active{grid-template-columns:1fr;min-height:0}
  .s365-announcement-slide.is-active .s365-announcement__visual{min-height:14.5rem}
  .s365-announcement-slide.is-active .s365-announcement__visual.has-image img{min-height:14.5rem;max-height:20rem}
  .s365-announcement-slide.is-next{grid-template-columns:7.5rem minmax(0,1fr);grid-template-rows:1fr;min-height:8.5rem}
  .s365-announcement-slide.is-next .s365-announcement__visual,.s365-announcement-slide.is-next .s365-announcement__visual.has-image img{min-height:8.5rem;height:100%}
  .s365-announcement-slide.is-next .s365-announcement__poster{width:5.6rem}
  .s365-announcement-slide.is-next .s365-announcement__body{padding:1rem 1.05rem}
  .s365-announcement-slide.is-next .s365-announcement__excerpt{display:none}
  .s365-announcement-slide.is-next .s365-announcement__body h2{font-size:1.12rem}
  .s365-announcement-carousel__controls{justify-content:center}
}
@media(max-width:560px){
  .s365-announcement-slide.is-next{grid-template-columns:6.25rem minmax(0,1fr)}
  .s365-announcement-slide.is-next .s365-announcement__visual,.s365-announcement-slide.is-next .s365-announcement__visual.has-image img{min-height:7.5rem}
  .s365-announcement-slide.is-next .s365-announcement__body{padding:.85rem .9rem}
  .s365-announcement__activate{margin-top:.55rem;font-size:.76rem}
}
@media(prefers-reduced-motion:reduce){.s365-announcement-slide{transition:none}}


/* 0.5.3 – fixed Split-Hero announcement geometry inspired by the new VR web design */
@media(min-width:821px){
  .s365-announcement-carousel__stage{
    grid-template-columns:minmax(0,2.35fr) minmax(17.5rem,.92fr);
    gap:1.05rem;
    align-items:stretch;
  }
  .s365-announcement-carousel__stage.has-single{grid-template-columns:1fr}
  .s365-announcement-slide.is-active,
  .s365-announcement-slide.is-next{
    height:23.5rem;
    min-height:23.5rem;
    max-height:23.5rem;
    overflow:hidden;
  }
  .s365-announcement-slide.is-active{
    grid-template-columns:minmax(15.75rem,.82fr) minmax(0,1.18fr);
    border:1px solid #b9cfde;
    background:var(--s365-navy);
    box-shadow:0 12px 28px rgba(24,51,78,.07);
  }
  .s365-announcement-slide.is-active .s365-announcement__visual{
    height:100%;
    min-height:0;
    padding:1rem;
    background:linear-gradient(145deg,#edf5fa 0%,#d5e9f5 100%);
  }
  .s365-announcement-slide.is-active .s365-announcement__visual.has-image{
    padding:1rem;
    background:linear-gradient(145deg,#edf5fa 0%,#d5e9f5 100%);
  }
  .s365-announcement-slide.is-active .s365-announcement__visual.has-image img{
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    object-fit:contain;
    object-position:center;
    border:6px solid #fff;
    border-radius:16px;
    background:#fff;
    box-shadow:0 7px 20px rgba(20,55,83,.09);
  }
  .s365-announcement-slide.is-active .s365-announcement__poster{
    width:min(100%,14.5rem);
    max-height:100%;
    border:6px solid #fff;
    box-shadow:0 7px 20px rgba(20,55,83,.09);
  }
  .s365-announcement-slide.is-active .s365-announcement__body{
    min-width:0;
    height:100%;
    padding:clamp(2rem,3vw,3rem);
    align-items:center;
    overflow:hidden;
  }
  .s365-announcement-slide.is-active .s365-announcement__body>div{max-width:40rem}
  .s365-announcement-slide.is-active .s365-announcement__body h2{
    max-width:17ch;
    font-size:clamp(2rem,2.65vw,2.8rem);
    line-height:1.08;
  }
  .s365-announcement-slide.is-active .s365-announcement__excerpt{
    display:-webkit-box;
    overflow:hidden;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
  }

  .s365-announcement-slide.is-next{
    grid-template-columns:1fr;
    grid-template-rows:12.25rem minmax(0,1fr);
    border:1px solid var(--s365-border);
    background:#fff;
    box-shadow:0 8px 24px rgba(24,51,78,.045);
  }
  .s365-announcement-slide.is-next .s365-announcement__visual,
  .s365-announcement-slide.is-next .s365-announcement__visual.has-image{
    height:12.25rem;
    min-height:12.25rem;
    padding:.8rem;
    background:linear-gradient(145deg,#f1f7fb 0%,#dcecf6 100%);
  }
  .s365-announcement-slide.is-next .s365-announcement__visual.has-image img{
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    object-fit:contain;
    object-position:center;
    border:4px solid #fff;
    border-radius:12px;
    background:#fff;
  }
  .s365-announcement-slide.is-next .s365-announcement__poster{
    width:min(7.6rem,62%);
    max-height:10.65rem;
    border:4px solid #fff;
    border-radius:12px;
  }
  .s365-announcement-slide.is-next .s365-announcement__body{
    height:auto;
    min-height:0;
    padding:1.25rem 1.35rem 1.35rem;
    overflow:hidden;
  }
  .s365-announcement-slide.is-next .s365-announcement__body h2{
    display:-webkit-box;
    overflow:hidden;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    font-size:clamp(1.18rem,1.45vw,1.45rem);
    line-height:1.16;
  }
  .s365-announcement-slide.is-next .s365-announcement__excerpt{
    -webkit-line-clamp:2;
    margin-top:.55rem;
  }
  .s365-announcement-slide.is-next .s365-announcement__activate{margin-top:.65rem}
}

@media(min-width:821px) and (max-width:1080px){
  .s365-announcement-carousel__stage{grid-template-columns:minmax(0,1.95fr) minmax(15rem,.8fr)}
  .s365-announcement-slide.is-active{grid-template-columns:minmax(13rem,.72fr) minmax(0,1.28fr)}
  .s365-announcement-slide.is-active,
  .s365-announcement-slide.is-next{height:22rem;min-height:22rem;max-height:22rem}
  .s365-announcement-slide.is-next{grid-template-rows:10.75rem minmax(0,1fr)}
  .s365-announcement-slide.is-next .s365-announcement__visual,
  .s365-announcement-slide.is-next .s365-announcement__visual.has-image{height:10.75rem;min-height:10.75rem}
}

@media(max-width:820px){
  .s365-announcement-carousel__stage{grid-template-columns:1fr;gap:.8rem}
  .s365-announcement-slide.is-active{height:auto;max-height:none;min-height:0;overflow:hidden}
  .s365-announcement-slide.is-active .s365-announcement__visual,
  .s365-announcement-slide.is-active .s365-announcement__visual.has-image{padding:.8rem;background:linear-gradient(145deg,#edf5fa 0%,#d5e9f5 100%)}
  .s365-announcement-slide.is-active .s365-announcement__visual.has-image img{height:14.5rem;min-height:0;max-height:14.5rem;object-fit:contain;border:4px solid #fff;border-radius:12px;background:#fff}
  .s365-announcement-slide.is-next{height:8.75rem;min-height:8.75rem;max-height:8.75rem;overflow:hidden;grid-template-columns:7rem minmax(0,1fr);grid-template-rows:1fr}
  .s365-announcement-slide.is-next .s365-announcement__visual,
  .s365-announcement-slide.is-next .s365-announcement__visual.has-image{height:100%;min-height:0;padding:.45rem;background:linear-gradient(145deg,#f1f7fb 0%,#dcecf6 100%)}
  .s365-announcement-slide.is-next .s365-announcement__visual.has-image img{height:100%;min-height:0;object-fit:contain;border:3px solid #fff;border-radius:9px;background:#fff}
  .s365-announcement-slide.is-next .s365-announcement__body{padding:.85rem 1rem;overflow:hidden}
  .s365-announcement-slide.is-next .s365-announcement__body h2{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}


/* 0.5.4 – keep active announcement physically left after every carousel change */
.s365-announcement-slide.is-active{order:1}
.s365-announcement-slide.is-next{order:2}
.s365-announcement-slide.is-hidden{order:3}

/* 0.5.5 – announcement display modes: split vs. full-bleed background */
.s365-announcement__next-label{display:none!important}
.s365-announcement-slide.is-next .s365-announcement__body .s365-eyebrow{display:block;color:var(--s365-blue)}

/* Full-bleed mode follows the VR split-hero idea: image is the card, copy is overlaid. */
.s365-announcement-slide--background{
  position:relative;
  isolation:isolate;
  background:#123f73;
}
.s365-announcement-slide--background .s365-announcement__visual{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  min-height:0!important;
  padding:0!important;
  background:#123f73!important;
}
.s365-announcement-slide--background .s365-announcement__visual.has-image img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.s365-announcement-slide--background .s365-announcement__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,34,64,.08) 18%,rgba(8,34,64,.30) 48%,rgba(8,34,64,.90) 100%);
  pointer-events:none;
}
.s365-announcement-slide--background .s365-announcement__body{
  position:relative;
  z-index:1;
  grid-column:1/-1;
  width:100%;
  height:100%;
  min-width:0;
  display:flex;
  align-items:flex-end!important;
  padding:clamp(1.7rem,3vw,3rem)!important;
  background:transparent!important;
}
.s365-announcement-slide--background .s365-announcement__body>div{max-width:48rem!important}
.s365-announcement-slide--background .s365-announcement__body h2{
  max-width:18ch!important;
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.16);
}
.s365-announcement-slide--background .s365-announcement__body .s365-eyebrow,
.s365-announcement-slide--background.is-next .s365-announcement__body .s365-eyebrow{
  display:block!important;
  color:rgba(255,255,255,.88)!important;
}
.s365-announcement-slide--background .s365-announcement__excerpt{
  color:rgba(255,255,255,.92)!important;
  text-shadow:0 1px 12px rgba(0,0,0,.12);
}
.s365-announcement-slide--background .s365-announcement__poster{
  display:none!important;
}

@media(min-width:821px){
  .s365-announcement-slide--background.is-active{
    grid-template-columns:1fr!important;
    border-color:rgba(18,70,110,.28);
    box-shadow:0 14px 34px rgba(24,51,78,.10);
  }
  .s365-announcement-slide--background.is-active .s365-announcement__body{
    padding:2.4rem 2.65rem!important;
  }
  .s365-announcement-slide--background.is-active .s365-announcement__body h2{
    font-size:clamp(2.05rem,3vw,3.15rem)!important;
    line-height:1.05!important;
  }
  .s365-announcement-slide--background.is-active .s365-announcement__excerpt{
    max-width:42rem;
    font-size:1rem;
    line-height:1.55;
    -webkit-line-clamp:3;
  }

  .s365-announcement-slide--background.is-next{
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    cursor:pointer;
    background:#123f73;
  }
  .s365-announcement-slide--background.is-next .s365-announcement__body{
    padding:1.35rem 1.4rem!important;
  }
  .s365-announcement-slide--background.is-next .s365-announcement__body h2{
    max-width:13ch!important;
    color:#fff!important;
    font-size:clamp(1.28rem,1.55vw,1.6rem)!important;
    line-height:1.08!important;
    -webkit-line-clamp:3;
  }
  .s365-announcement-slide--background.is-next .s365-announcement__excerpt,
  .s365-announcement-slide--background.is-next .s365-announcement__cta,
  .s365-announcement-slide--background.is-next .s365-announcement__activate{
    display:none!important;
  }
  .s365-announcement-slide--background.is-next .s365-announcement__visual::after{
    background:linear-gradient(180deg,rgba(8,34,64,.05) 24%,rgba(8,34,64,.28) 50%,rgba(8,34,64,.94) 100%);
  }
}

@media(max-width:820px){
  .s365-announcement-slide--background.is-active{
    display:grid;
    grid-template-columns:1fr!important;
    min-height:24rem!important;
    height:24rem!important;
    max-height:24rem!important;
  }
  .s365-announcement-slide--background.is-active .s365-announcement__body{
    padding:1.45rem!important;
  }
  .s365-announcement-slide--background.is-active .s365-announcement__body h2{
    font-size:clamp(1.85rem,8vw,2.45rem)!important;
  }
  .s365-announcement-slide--background.is-next{
    display:grid;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    height:10rem!important;
    min-height:10rem!important;
    max-height:10rem!important;
  }
  .s365-announcement-slide--background.is-next .s365-announcement__body{
    padding:1rem 1.1rem!important;
    align-items:flex-end!important;
  }
  .s365-announcement-slide--background.is-next .s365-announcement__body h2{
    color:#fff!important;
    font-size:1.12rem!important;
    -webkit-line-clamp:2;
  }
  .s365-announcement-slide--background.is-next .s365-announcement__excerpt,
  .s365-announcement-slide--background.is-next .s365-announcement__cta,
  .s365-announcement-slide--background.is-next .s365-announcement__activate{
    display:none!important;
  }
}

/* 0.5.6 – full-bleed announcement mode must also render the next teaser as image + overlay. */
.s365-announcement-slide--background.is-next .s365-announcement__visual{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  background:#123f73!important;
}
.s365-announcement-slide--background.is-next .s365-announcement__visual.has-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.s365-announcement-slide--background.is-next .s365-announcement__body{
  position:relative!important;
  z-index:2!important;
  grid-column:1/-1!important;
  grid-row:1/-1!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:flex-end!important;
  background:transparent!important;
}
.s365-announcement-slide--background.is-next .s365-announcement__visual::after{
  z-index:1;
  background:linear-gradient(180deg,rgba(8,34,64,.04) 18%,rgba(8,34,64,.28) 52%,rgba(8,34,64,.94) 100%)!important;
}


/* 0.6.11 – square partner cards inspired by the download previews.
 * The existing hover/click reveal stays unchanged; only the front proportions
 * and logo presentation are refined. */
.s365-partner-card{aspect-ratio:1/1;min-height:0}
.s365-partner-card__inner{height:100%;min-height:0}
.s365-partner-card__front{justify-content:flex-start;padding:1.2rem 1.15rem 1.05rem}
.s365-partner-card__logo{
  width:min(58%,10rem);
  height:auto;
  aspect-ratio:1/1;
  flex:0 0 auto;
  margin:.15rem auto .9rem;
  border-radius:14px;
  background:#f3f7fa;
}
.s365-partner-card__logo img{padding:.65rem;object-fit:contain}
.s365-partner-card h3{font-size:1rem;line-height:1.2}
.s365-partner-card__front p{margin-top:.35rem;line-height:1.4}
.s365-partner-card__info{margin-top:auto;padding-top:.7rem}
.s365-partner-card__back{padding:1.35rem}
@media(max-width:1100px){.s365-partner-card__logo{width:min(54%,8.8rem)}}
@media(max-width:720px){.s365-partner-card__logo{width:min(55%,9.5rem)}}
@media(max-width:560px){
  .s365-partner-card,.s365-partner-card__inner{min-height:0}
  .s365-partner-card__logo{width:min(46%,10rem)}
}


/* 0.6.15 – partner logos sit directly on the white card without the light-grey tile. */
.s365-partner-card__logo{background:transparent}


/* 0.6.16 – Podcast teaser */
.s365-podcast-card{display:grid;grid-template-columns:minmax(15rem,.62fr) minmax(0,1.38fr);min-height:19rem;border:1px solid var(--s365-border);border-radius:var(--s365-radius-lg);overflow:hidden;background:var(--s365-navy);color:#fff}.s365-podcast-card__visual{min-height:19rem;display:grid;place-items:center;background:linear-gradient(135deg,#0a6fba,#71afd9);padding:1.4rem}.s365-podcast-card__visual.has-image{padding:0;background:#0a6fba}.s365-podcast-card__visual img{width:100%;height:100%;min-height:19rem;object-fit:cover}.s365-podcast-card__placeholder{display:grid;place-items:center;align-content:center;width:min(100%,13rem);aspect-ratio:1/1;border-radius:18px;background:#fff;color:var(--s365-navy);box-shadow:0 18px 36px rgba(0,0,0,.14)}.s365-podcast-card__placeholder span{color:var(--s365-orange);font-size:2.3rem;font-weight:850}.s365-podcast-card__placeholder strong{font-size:1.25rem}.s365-podcast-card__body{display:flex;align-items:center;padding:clamp(2rem,3.4vw,3.15rem)}.s365-podcast-card__body h2{max-width:22ch;color:#fff;font-size:clamp(1.95rem,2.8vw,2.75rem);text-wrap:balance}.s365-podcast-card__body p:not(.s365-eyebrow){max-width:43rem;margin-top:.9rem;color:rgba(255,255,255,.84);font-size:.98rem;line-height:1.6}.s365-podcast-card__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.3rem}.s365-podcast-card__actions .s365-button--secondary{border-color:rgba(255,255,255,.7);background:#fff;color:var(--s365-navy)}
@media(max-width:760px){.s365-podcast-card{grid-template-columns:1fr}.s365-podcast-card__visual,.s365-podcast-card__visual img{min-height:14rem;max-height:20rem}.s365-podcast-card__body{padding:1.5rem}.s365-podcast-card__actions{align-items:stretch}.s365-podcast-card__actions .s365-button{width:100%}}


/* 0.6.17 – Start page section rhythm + 365 Social-News.
 * nth-of-type keeps the white/surface alternation intact even when optional
 * sections (announcements, podcast, news) are not rendered. */
.s365-home-page>section:nth-of-type(odd){background:#fff!important}
.s365-home-page>section:nth-of-type(even){background:var(--s365-surface)!important}
.s365-home-page>.s365-hero{background:#fff!important}

.s365-social-news{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}
.s365-social-news__item{padding:1.45rem}
.s365-social-news__item:first-child{grid-row:span 2}
.s365-social-news__meta{display:flex;align-items:center;gap:.6rem;margin-bottom:.65rem;color:var(--s365-muted);font-size:.76rem;font-weight:700}
.s365-social-news__meta span{padding:.18rem .48rem;border-radius:999px;background:#fff0e6;color:#b84d00;font-size:.7rem}
.s365-social-news__item h3{font-size:clamp(1.25rem,2vw,1.7rem)}
.s365-social-news__item p{margin:.7rem 0 1rem;color:var(--s365-muted);line-height:1.55}
.s365-social-news__item .s365-button{margin-top:.2rem}
@media(max-width:900px){.s365-social-news{grid-template-columns:1fr}.s365-social-news__item:first-child{grid-row:auto}}


/* 0.6.18 – announcements remain white; the alternating rhythm starts after them.
 * If no announcement is rendered, the existing nth-of-type rhythm stays intact. */
main.s365-home-page>section.s365-announcement{background:#fff!important}
.s365-home-page>.s365-announcement~section:nth-of-type(odd){background:var(--s365-surface)!important}
.s365-home-page>.s365-announcement~section:nth-of-type(even){background:#fff!important}


/* 0.6.20 – clean, evenly aligned quick-link strip below the hero. */
.s365-home-page .s365-metrics{
  margin-bottom:0;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 8px 22px rgba(24,51,78,.045);
}
.s365-home-page .s365-metric{
  min-height:5.35rem;
  padding:1rem 1.3rem;
  gap:1rem;
}
.s365-home-page .s365-metric>div{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  gap:.18rem;
}
.s365-home-page .s365-metric strong{
  line-height:1.25;
}
.s365-home-page .s365-metric div>span{
  line-height:1.35;
}
.s365-home-page .s365-metric--link>svg{
  flex:0 0 auto;
  width:1.05rem;
  height:1.05rem;
}
@media(max-width:720px){
  .s365-home-page .s365-metrics{margin-bottom:0}
}

/* 0.6.21 – 365 Social-News can now use an optional teaser image. */
.s365-social-news__item{overflow:hidden;padding:0}
.s365-social-news__body{padding:1.45rem}
.s365-social-news__image{aspect-ratio:16/7;overflow:hidden;background:var(--s365-surface)}
.s365-social-news__item:not(.is-featured) .s365-social-news__image{aspect-ratio:16/6}
.s365-social-news__image img{display:block;width:100%;height:100%;object-fit:cover}
.s365-social-news__item.has-image .s365-social-news__body{padding-top:1.25rem}
@media(max-width:900px){.s365-social-news__image,.s365-social-news__item:not(.is-featured) .s365-social-news__image{aspect-ratio:16/8}}
