/* Minimal article styling. Other blocks retain WordPress core styles. */
.cn-article__head,.cn-prose,.cn-article-nav{width:min(800px,calc(100% - 40px));margin-inline:auto}
.cn-article__head{margin-bottom:36px}
.cn-article__title{font-size:30px;font-weight:700;line-height:1.5;overflow-wrap:anywhere;color:#111}
.cn-article__summary{margin-top:12px;font-size:16px;line-height:1.8;color:#b5306d;font-weight:700}
.cn-prose{font-size:16px;line-height:2;color:#111;overflow-wrap:anywhere;display:flow-root}
.cn-prose > *{margin-block:24px}
.cn-prose > :first-child{margin-top:0}
.cn-prose > :last-child{margin-bottom:0}
.cn-prose :where(h1,h2,h3,h4,h5,h6){font-weight:700;line-height:1.5;margin-block:64px 28px}
.cn-prose h1{font-size:30px;padding-left:0}
.cn-prose h2{font-size:24px;position:relative;padding-left:22px}
.cn-prose h2::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:#b5306d;border-radius:3px}
.cn-prose h3{font-size:20px}.cn-prose h4{font-size:18px}.cn-prose :where(h5,h6){font-size:16px}
.cn-prose :where(ul,ol){list-style:revert;padding-inline-start:1.5em}
.cn-prose .wp-block-image{margin-block:48px}
.cn-prose .wp-block-image img{height:auto;max-width:100%}
.cn-prose .wp-block-image figcaption{font-size:14px;line-height:1.6;text-align:center;color:#111;margin-top:16px}
.cn-prose a:not(.wp-element-button){text-decoration:underline;text-underline-offset:3px;color:#b5306d}
.cn-prose > .alignwide{width:min(1100px,calc(100vw - 40px));max-width:none;margin-left:50%;transform:translateX(-50%)}
.cn-prose > .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.cn-static-article .cn-article__head{border-bottom:1px solid #b5306d;padding-bottom:32px;margin-bottom:70px}
/* Keep the title-to-content gap independent of the first block's own margin. */
.cn-static-article .cn-prose > :first-child{margin-top:0}
.cn-case-article{padding-bottom:150px}
.cn-case-article .cn-gallery{margin-bottom:48px}
.cn-case-article .cn-gallery__track{display:flex;gap:40px;align-items:center;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.cn-case-article .cn-gallery__track img{height:464px;width:auto;max-width:none;flex:none;object-fit:contain;scroll-snap-align:center;border-radius:3px}
.cn-case-article .cn-gallery{position:relative}
.cn-case-article .cn-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:none;padding:0;border:0;cursor:pointer;width:39px;height:82px}
.cn-case-article .cn-arrow img{width:39px;height:82px;max-width:none}
.cn-case-article .cn-arrow[hidden]{display:none}
.cn-case-article .cn-arrow--prev{left:0}.cn-case-article .cn-arrow--next{right:0}
.cn-article-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #b5306d;padding-top:24px;margin-top:64px;font-size:14px}
.cn-article-nav a{display:flex;align-items:center;gap:8px;text-decoration:underline}
.cn-article-nav img{width:20px;height:20px}
.cn-related{padding:110px 20px;background:#eee}
.cn-related .cn-top__head h2{font-size:24px}
.cn-card{color:inherit;text-decoration:none}
.cn-modal__scroll{height:calc(100vh - 100px);height:calc(100dvh - 100px);padding:0 0 60px}
.cn-modal .cn-modal__nav{position:sticky;top:0;z-index:4;background:white;border-bottom:1px solid #b5306d;margin:0;padding:12px 30px}
.cn-modal__heading{margin-top:32px;margin-bottom:32px}
.cn-modal .cn-modal__heading h2{font-size:30px;line-height:1.5;margin:0}
.cn-modal__content{margin-top:48px}
.cn-modal__status,.cn-modal .cn-modal__retry,.cn-modal__permalink{width:min(800px,calc(100% - 40px));margin:16px auto}
.cn-modal__permalink{font-size:14px;margin-top:40px;text-align:right;text-decoration:underline;color:#b5306d}
.cn-modal .cn-prose > .alignwide,.cn-modal .cn-prose > .alignfull{width:100%;margin-left:0;transform:none}
.cn-article-breadcrumb ol{flex-wrap:wrap}
.cn-commitment,.cn-related{--cn-pink:#b5306d}
.cn-commitment{padding:110px 20px;background:#fcf7f9}
.cn-commitment__inner{max-width:1100px;margin-inline:auto}
.cn-commitment__intro{text-align:center;font-size:16px;line-height:2;margin:0 auto 48px}
.cn-commitment__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.cn-commitment__image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px}
.cn-commitment__title{font-size:16px;line-height:1.5;font-weight:700;margin-top:20px}
.cn-commitment__title a{text-decoration:underline;text-underline-offset:3px}
.cn-commitment__text{font-size:14px;line-height:2;margin-top:16px}
.cn-commitment__card a:hover{opacity:.8}
.cn-partners__body{max-width:800px;margin-inline:auto}
.cn-partners__intro{font-size:16px;line-height:2;padding-bottom:36px;border-bottom:1px solid #b5306d;margin-bottom:48px}
.cn-partners__note{font-size:12px;line-height:1.8;color:#b5306d;margin-bottom:28px}
.cn-partners__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:70px;row-gap:14px;font-size:16px;line-height:1.8;color:#555;overflow-wrap:anywhere;list-style:none;padding:0}
.cn-partners .company__title{font-size:90px}
/* Keep full company names readable; narrower desktop screens use one column. */
@media(min-width:769px){
 .cn-partners .lower-inner{max-width:1320px}
 .cn-partners__body{max-width:1280px}
 .cn-partners__list{column-gap:40px}
}
@media(min-width:769px) and (max-width:1279px){.cn-partners__list{grid-template-columns:1fr}}
.cn-brands__more{display:block;width:238px;max-width:calc(100% - 40px);height:auto;margin:30px auto 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.cn-brands__more img{display:block;width:100%;height:auto}
@media(prefers-reduced-motion:reduce){.cn-brands__more img{transition:none!important}}
@media(max-width:768px){
 .cn-article__head{margin-bottom:24px}.cn-article__title,.cn-modal .cn-modal__heading h2{font-size:20px}
 .cn-article__summary{font-size:16px;line-height:1.6;margin-top:12px}
 .cn-prose{font-size:16px;line-height:2}
 .cn-prose :where(h1,h2,h3,h4,h5,h6){margin-block:48px 24px}
 .cn-prose h1{font-size:20px}.cn-prose h2{font-size:20px;padding-left:18px}.cn-prose h3{font-size:18px}.cn-prose h4{font-size:16px}
 .cn-prose .wp-block-image{margin-block:32px}.cn-prose .wp-block-image figcaption{font-size:12px;margin-top:12px}
 .cn-static-article .cn-article__head{padding-bottom:24px;margin-bottom:30px}
 .cn-case-article .cn-gallery__track{gap:10px}.cn-case-article .cn-gallery__track img{height:clamp(160px,51.28vw,300px)}
 .cn-case-article .cn-gallery{margin-bottom:32px}.cn-case-article{padding-bottom:80px}
 .cn-article-nav{font-size:12px;margin-top:48px}.cn-article-nav a{gap:4px}
 .cn-related{padding:65px 20px}.cn-related .cn-top__head h2{font-size:20px}
 .cn-modal .cn-modal__scroll{height:calc(100vh - 85px);height:calc(100dvh - 85px);padding:0 0 48px}.cn-modal .cn-modal__nav{padding:12px 20px;gap:10px}.cn-modal .cn-modal__nav button{font-size:14px;gap:8px}
 .cn-modal__heading{margin-top:28px;margin-bottom:24px}.cn-modal__content{margin-top:28px}
 .cn-modal__permalink{font-size:12px}
 .cn-commitment{padding:60px 20px}.cn-commitment .cn-top__head h2{font-size:24px}.cn-commitment .cn-top__head{margin-bottom:26px}
 .cn-commitment__intro{margin-bottom:28px}.cn-commitment__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:28px}
 .cn-commitment__image{border-radius:4px}.cn-commitment__title{font-size:14px;margin-top:16px}.cn-commitment__text{font-size:12px;line-height:2;margin-top:14px}
 .cn-partners .company__title{font-size:30px;line-height:1.2;letter-spacing:0}.cn-partners .company__subtitle{font-size:16px;padding-left:14px}
 .cn-partners .company__head{margin-bottom:40px}.cn-partners__intro{font-size:14px;line-height:2;margin-bottom:30px;padding-bottom:28px}
 .cn-partners__note{font-size:12px;margin-bottom:24px}.cn-partners__list{grid-template-columns:1fr;font-size:14px;line-height:2;row-gap:0}.cn-partners__blank{display:none}
}
/* The popup loads a full WordPress article document only when it is opened. */
.cn-modal__frame{display:block;width:100%;height:1px;border:0;background:white}
.cn-case-frame{margin:0;padding:0;background:white}
.cn-case-frame .cn-case-article{padding:24px 0 48px}
.cn-case-frame .cn-modal__permalink{margin-bottom:0}
@media(max-width:768px){.cn-case-frame .cn-case-article{padding:20px 0 40px}}

/* Keep the dialog size stable while its click-loaded article is pending. */
.cn-modal__article{padding-top:0}
.cn-modal__loading{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;pointer-events:none;text-align:center;padding:24px}
.cn-modal__spinner{display:block;flex:none;width:44px;height:44px;border:4px solid #f0dce5;border-top-color:#b5306d;border-radius:50%;animation:cn-modal-spin .85s linear infinite}
.cn-modal__loading .cn-modal__status{width:auto;max-width:800px;margin:0;font-size:14px;line-height:1.8;color:#555}
.cn-modal .cn-modal__loading .cn-modal__retry{width:auto;margin:0;pointer-events:auto}
@keyframes cn-modal-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cn-modal__spinner{animation:none}}

/* Keep switching controls compact, with room for the close button above them. */
.cn-modal .cn-modal__nav button{min-height:32px}
@media(max-width:768px){.cn-related .cn-card:nth-child(n+5){display:none}}
