/* Articles opt into this editorial layout through their native template. */
main .ibu-about { --about-ink:#203a4b; --about-muted:#626f7b; color:var(--about-ink); padding-block:clamp(38px,4.5vw,64px); }
main .ibu-about > .root > .width-large > .row { margin:0; gap:0; }
main .ibu-about .ibu-about__layout { align-items:start; }
main .ibu-about .ce_text { width:100%; max-width:100%; min-width:0; margin:0; padding:0; }
main .ibu-about .ce_text > .inner { max-width:none; }
.ibu-about__copy,.ibu-about__media { min-width:0; }
.ibu-about .ibu-about__kicker { margin:0 0 14px; color:#c02178; font-size:12px; font-weight:600; line-height:1.7; letter-spacing:.16em; text-transform:lowercase; }
.ibu-about .ibu-about__heading { max-width:21ch; margin:0 0 22px; color:var(--about-ink); font-family:var(--ibu-type-family,Montserrat,Arial,sans-serif); font-size:clamp(28px,2.8vw,36px); font-weight:600; line-height:1.3; letter-spacing:normal; text-transform:none; }
.ibu-about .ibu-about__prose { color:var(--about-muted); font-size:15px; line-height:1.85; }
.ibu-about .ibu-about__prose p { margin:0 0 20px; }
.ibu-about .ibu-about__prose > :last-child { margin-bottom:0; }
.ibu-about .ibu-about__prose blockquote { margin:24px 0 0; padding:2px 0 2px 18px; border:0; border-left:2px solid #d12982; color:var(--about-ink); font-size:16px; font-style:normal; line-height:1.7; }
.ibu-about .ibu-about__prose blockquote p { margin:0; font:inherit; }
.ibu-about .ibu-about__prose--plain-motto blockquote { border-left:0; padding-left:0; }
main .ibu-about-section--history { background:#f6f7f9; }
.ibu-about .ibu-about__details { display:block; width:100%; min-width:0; margin-top:28px; border:0; border-top:1px solid #dfe5e8; border-bottom:1px solid #dfe5e8; }
.ibu-about .ibu-about__details > summary { display:flex; align-items:center; gap:24px; min-height:62px; padding:14px 0; list-style:none; color:var(--about-ink); font-family:var(--ibu-type-family,Montserrat,Arial,sans-serif); line-height:1.7; cursor:pointer; }
.ibu-about .ibu-about__details > summary::-webkit-details-marker { display:none; }
.ibu-about .ibu-about__details > summary::marker { content:""; }
.ibu-about .ibu-about__details-title { display:block; flex:1; min-width:0; color:#202020; font-size:14px; font-weight:400; overflow-wrap:anywhere; transform-origin:left center; }
.ibu-about .ibu-about__details-action { display:flex; align-items:center; flex:none; gap:12px; color:#202020; font-size:12px; font-weight:400; }
.ibu-about .ibu-about__details-closed { display:inline-block; transform-origin:right center; }
.ibu-about .ibu-about__details-toggle { display:grid; place-items:center; width:28px; height:28px; border:1px solid #e5ccd9; border-radius:50%; color:#b51d6e; }
.ibu-about .ibu-about__details-toggle svg { display:block; width:16px; height:16px; }
.ibu-about .ibu-about__details-plus { transform-origin:center; transition:transform .2s ease; }
.ibu-about .ibu-about__details > summary:is(:hover,:focus-visible) .ibu-about__details-toggle { color:#fff; background:#c51b76; border-color:#c51b76; }
.ibu-about .ibu-about__details-open,.ibu-about .ibu-about__details[open] .ibu-about__details-closed { display:none; }
.ibu-about .ibu-about__details[open] .ibu-about__details-open { display:inline; }
.ibu-about .ibu-about__details[open] .ibu-about__details-plus { transform:scaleY(0); }
.ibu-about .ibu-about__details-body { max-width:970px; padding:10px 0 24px; color:var(--about-muted); font-size:14px; line-height:1.85; }
.ibu-about .ibu-about__details-body h3 { margin:24px 0 12px; color:var(--about-ink); font-size:17px; font-weight:600; line-height:1.5; text-transform:none; }
.ibu-about .ibu-about__details-body h3:first-child { margin-top:0; }
.ibu-about .ibu-about__details-body p { margin:0 0 16px; }
.ibu-about .ibu-about__details-body ul { margin:0 0 18px; padding-left:20px; }
.ibu-about .ibu-about__details-body li { margin-bottom:8px; }
.ibu-about .ibu-about__details-body ul ul { margin-top:10px; }
.ibu-about .ibu-about__points { display:grid; gap:10px; margin:24px 0 0; padding:0; list-style:none; }
.ibu-about .ibu-about__points li { display:flex; align-items:baseline; gap:12px; margin:0; }
.ibu-about .ibu-about__points li::before { content:""; flex:none; width:6px; height:6px; border-radius:50%; background:#8aa773; transform:translateY(-2px); }
/* The closing contact block shares its layout with other pages in ibu-page.css. */
.ibu-about :is(a,summary):focus-visible { outline:2px solid #c02178; outline-offset:5px; }
@media(max-width:959px) {
 .ibu-about .ibu-about__heading { max-width:26ch; }
}
@media(max-width:639px) {
 main .ibu-about { padding-block:34px; }
 .ibu-about .ibu-about__prose { font-size:14px; }
 .ibu-about .ibu-about__details { margin-top:22px; }
 .ibu-about .ibu-about__details > summary { gap:22px; }
 .ibu-about .ibu-about__details-title { font-size:13px; }
 .ibu-about .ibu-about__details .ibu-about__details-action > :is(.ibu-about__details-open,.ibu-about__details-closed) { display:none; }
 .ibu-about .ibu-about__details-body { padding:8px 0 22px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .ibu-about .ibu-about__details-toggle { transition:color .22s ease,background-color .22s ease,border-color .22s ease; }
}
@keyframes ibu-details-invite {
 0%,100% { transform:scale(.94); opacity:.6; }
 50% { transform:scale(1.26); opacity:1; }
}
@keyframes ibu-details-copy {
 0%,100% { transform:scale(1.08); opacity:1; }
 50% { transform:scale(.94); opacity:.68; }
}
@media(prefers-reduced-motion:no-preference) {
 .ibu-about .ibu-about__details:not([open]) .ibu-about__details-toggle { animation:ibu-details-invite 2.4s ease-in-out infinite; }
 .ibu-about .ibu-about__details:not([open]) :is(.ibu-about__details-title,.ibu-about__details-closed) { animation:ibu-details-copy 2.4s ease-in-out infinite; }
 .ibu-about .ibu-about__details:focus-within :is(.ibu-about__details-title,.ibu-about__details-closed,.ibu-about__details-toggle) { animation-play-state:paused; }
}
@media(prefers-reduced-motion:reduce) { .ibu-about .ibu-about__details-plus { transition:none; } }

/* The compact control lives with its introduction; long copy opens below both columns. */
.ibu-about .ibu-about__details--docked { margin-top:24px; }
.ibu-about .ibu-about__details--docked > summary { min-height:54px; gap:16px; padding-block:10px; box-sizing:border-box; }
.ibu-about .ibu-about__details--docked .ibu-about__details-title { font-size:12px; }
.ibu-about .ibu-about__details-dock { position:relative; flex:0 0 100%; width:100%; min-width:0; height:0; margin:0; padding:0; }
.ibu-about .ibu-about__details-dock--open { height:auto; padding-top:28px; }
.ibu-about .ibu-about__details-dock > .ibu-about__details { width:100%; margin:0; }
.ibu-about .ibu-about__details-slot { visibility:hidden; pointer-events:none; }
.ibu-about .ibu-about__details-slot * { animation:none !important; }
.ibu-about .ibu-about__details--moving { position:absolute; top:28px; left:0; z-index:2; overflow:hidden; box-sizing:border-box; will-change:transform,width,height; }
.ibu-about .ibu-about__details--moving > summary { position:relative; z-index:1; }
.ibu-about .ibu-about__details--moving .ibu-about__details-body { box-sizing:border-box; }
.ibu-about:has(.ibu-about__details--moving) { overflow-anchor:none; }
@media(max-width:639px) {
 .ibu-about .ibu-about__details--docked { margin-top:22px; }
 .ibu-about .ibu-about__details--docked > summary { gap:12px; }
 .ibu-about .ibu-about__details--docked .ibu-about__details-action > :is(.ibu-about__details-open,.ibu-about__details-closed) { display:inline; }
 .ibu-about .ibu-about__details--docked:not([open]) .ibu-about__details-action > .ibu-about__details-open,
 .ibu-about .ibu-about__details--docked[open] .ibu-about__details-action > .ibu-about__details-closed { display:none; }
}
