/* shared public landing width v27 */
:root{--site-max:1240px;--site-gutter:28px}
body>.site-header .wrap,body>header .wrap,main .wrap,section .wrap,.suite-footer__inner,.suite-footer__legal{width:min(var(--site-max),calc(100% - (var(--site-gutter) * 2)))!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
@media(max-width:620px){:root{--site-gutter:16px}}
#site-header .nav{width:min(var(--site-max),calc(100% - (var(--site-gutter) * 2)))!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}

/* v34 · shared safe spacing */
main :where(h1,h2,h3,p,li,a,span,strong,small){overflow-wrap:break-word}
main :where(.wrap)>*{min-width:0}
@media(max-width:620px){main .wrap,section .wrap{width:min(var(--site-max),calc(100% - 32px))!important}}


/* v40 · smooth expandable components */
@supports (interpolate-size: allow-keywords) {
  details { interpolate-size: allow-keywords; }
  details::details-content {
    block-size: 0;
    opacity: 0;
    overflow: hidden;
    transition: block-size .34s cubic-bezier(.22,.75,.22,1), opacity .24s ease, content-visibility .34s allow-discrete;
  }
  details[open]::details-content { block-size: auto; opacity: 1; }
}
details > summary { transition: background-color .22s ease, color .22s ease, border-color .22s ease; }
