/* CMM News module: article and news listing styles from the CMM Translation theme 1.1.27, scoped to .cmmn so the rest of this theme is untouched. */
.cmmn { --blue: #156496; --blue-d: #0E3F5F; --teal: #14C0A6; --teal-d: #0B7F6E; --gold: #FDB72F; --ink: #17212B; --body: #26303C; --sub: #4A5563; --muted: #5F6672; --line: #E4E0D6; --line2: #D6D1C4; --bg: #F7F5F0; --sand: #EFEBE2; --ph: #E6E1D5; --ph-text: #6E6656; --tint: #E3EEF6; --ttint: #DDF3EE; --gtint: #FFF1D1; --head: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif; --text: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; --pad: 120px; --hdr: 84px; }
.cmmn *, .cmmn *::before, .cmmn *::after { box-sizing: border-box; }
.cmmn { margin: 0; font-family: var(--text); color: var(--ink); background: var(--bg); -webkit-font-smoothing: antialiased; line-height: 1.6; }
.cmmn img { max-width: 100%; height: auto; }
.cmmn h1, .cmmn h2, .cmmn h3, .cmmn h4 { font-family: var(--head); font-weight: 600; letter-spacing: -.015em; margin: 0; line-height: 1.2; }
.cmmn p { margin: 0; }
.cmmn a { color: var(--blue); }
.cmmn button, .cmmn input, .cmmn select, .cmmn textarea { font: inherit; }
.cmmn button { cursor: pointer; }
.cmmn :focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
	.cmmn *, .cmmn *::before, .cmmn *::after { transition: none !important; animation: none !important; }
}
.cmmn .wrap { padding-left: var(--pad); padding-right: var(--pad); }
.cmmn .sec { padding-top: 96px; padding-bottom: 96px; }
.cmmn .sand { background: var(--sand); }
.cmmn .white { background: #fff; }
.cmmn .btn { height: 48px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 600; font-size: 16px; line-height: 1; text-decoration: none; border: 1px solid transparent; white-space: nowrap; background: transparent; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.cmmn .btn:active { transform: scale(.98); }
.cmmn .btn.sm { height: 44px; padding: 0 20px; font-size: 15px; }
.cmmn .btn.pri { background: var(--blue); color: #fff; }
.cmmn .btn.pri:hover { background: var(--blue-d); }
.cmmn .btn.gold { background: var(--gold); color: var(--ink); }
.cmmn .btn.gold:hover { background: #f5a90f; }
.cmmn .btn.out { border-color: var(--ink); color: var(--ink); }
.cmmn .btn.out:hover { background: var(--ink); color: #fff; }
.cmmn .btn.outw { border-color: #fff; color: #fff; }
.cmmn .btn.outw:hover { background: rgba(255,255,255,.12); }
.cmmn .link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--blue); text-decoration: none; font-size: 15px; }
.cmmn .link svg { transition: transform .2s; }
.cmmn a:hover .link svg, .cmmn .link:hover svg { transform: translateX(3px); }
.cmmn .eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--teal-d); }
.cmmn .eyebrow::before { content: ""; width: 28px; height: 6px; border-radius: 3px; background: linear-gradient(90deg, var(--blue) 0 33%, var(--teal) 33% 66%, var(--gold) 66%); flex-shrink: 0; }
.cmmn .eyebrow.light, .cmmn .eyebrow.is-light { color: #9FE7DA; }
.cmmn .h1 { font-size: 60px; line-height: 1.08; }
.cmmn .h2 { font-size: 40px; line-height: 1.15; }
.cmmn .h2.sm { font-size: 30px; }
.cmmn .lead { font-size: 19px; line-height: 1.65; color: var(--sub); }
.cmmn .meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: 13px; color: var(--muted); }
.cmmn .meta b { color: var(--blue); }
.cmmn .crumbs a { color: var(--muted); text-decoration: none; }
.cmmn .crumbs a:hover { color: var(--blue); }
.cmmn .pill { display: inline-flex; align-self: flex-start; padding: 5px 12px; border-radius: 999px; background: var(--tint); color: var(--blue); font-size: 13px; font-weight: 600; line-height: 1.4; }
.cmmn .pill.teal { background: var(--ttint); color: var(--teal-d); }
.cmmn .clamp2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cmmn .ico { width: 52px; height: 52px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cmmn .ico.b { background: var(--tint); color: var(--blue); }
.cmmn .ico.t { background: var(--ttint); color: var(--teal-d); }
.cmmn .ico.g { background: var(--gtint); color: #8A5A00; }
.cmmn .sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 40px; }
.cmmn .sec-head .l { display: flex; flex-direction: column; gap: 14px; max-width: 720px; }
.cmmn .g2, .cmmn .g3, .cmmn .g4 { display: grid; gap: 24px; }
.cmmn .g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cmmn .g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cmmn .g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cmmn .more-wrap { display: flex; justify-content: center; padding-top: 40px; }
.cmmn .ph { background: var(--ph); color: var(--ph-text); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; font-size: 13px; text-align: center; padding: 8px; }
.cmmn .media { overflow: hidden; background: var(--ph); }
.cmmn .media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.cmmn .card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; text-decoration: none; color: var(--ink); transition: border-color .2s, box-shadow .25s, transform .25s; }
.cmmn a.card:hover { border-color: var(--line2); box-shadow: 0 14px 34px rgba(14,63,95,.10); transform: translateY(-3px); }
.cmmn a.card:hover .media img { transform: scale(1.04); }
.cmmn .card .media, .cmmn .card > .ph { aspect-ratio: 16 / 10; }
.cmmn .card .in { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.cmmn .card h3 { font-size: 20px; line-height: 1.35; }
.cmmn .card .excerpt { font-size: 15px; line-height: 1.6; color: var(--sub); }
.cmmn .facts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; padding-top: 14px; margin: auto 0 0; border-top: 1px solid var(--line); font-size: 13px; }
.cmmn .facts dt { color: var(--muted); }
.cmmn .facts dd { margin: 0; font-weight: 600; font-size: 14px; }
.cmmn .slider { position: relative; height: 640px; overflow: hidden; background: var(--blue-d); color: #fff; }
.cmmn .slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; display: flex; align-items: center; }
.cmmn .slide.on { opacity: 1; visibility: visible; z-index: 1; }
.cmmn .slide .bg { position: absolute; inset: 0; background: #123D59; overflow: hidden; }
.cmmn .slide:nth-child(2) .bg { background: #15465F; }
.cmmn .slide:nth-child(3) .bg { background: #0F4A57; }
.cmmn .slide:nth-child(4) .bg { background: #173F5E; }
.cmmn .s-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 5s ease-out; }
.cmmn .slide.on .s-img { transform: scale(1); }
.cmmn .slide .bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,35,53,.92) 0%, rgba(9,35,53,.72) 42%, rgba(9,35,53,.25) 100%); }
.cmmn .s-in { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 22px; max-width: 900px; padding-bottom: 40px; }
.cmmn .s-h { font-size: 58px; line-height: 1.08; color: #fff; max-width: 760px; }
.cmmn .s-p { font-size: 19px; line-height: 1.65; color: #D6E6F2; max-width: 620px; }
.cmmn .ctas { display: flex; gap: 12px; flex-wrap: wrap; padding-top: 6px; }
.cmmn .slide .s-in > * { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.cmmn .slide.on .s-in > * { opacity: 1; transform: none; }
.cmmn .slide.on .s-in > :nth-child(2) { transition-delay: .12s; }
.cmmn .slide.on .s-in > :nth-child(3) { transition-delay: .24s; }
.cmmn .slide.on .s-in > :nth-child(4) { transition-delay: .36s; }
.cmmn .s-ctrl { position: absolute; left: 0; right: 0; bottom: 36px; z-index: 3; display: flex; align-items: center; justify-content: space-between; }
.cmmn .dots { display: flex; gap: 4px; }
.cmmn .dots button { width: 44px; height: 44px; border: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.cmmn .dots button span { width: 28px; height: 5px; border-radius: 3px; background: rgba(255,255,255,.4); transition: background .3s, width .3s; }
.cmmn .dots button.on span { width: 44px; background: var(--gold); }
.cmmn .s-btns { display: flex; gap: 10px; }
.cmmn .s-btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.6); background: transparent; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.cmmn .s-btn:hover { background: rgba(255,255,255,.12); }
.cmmn .trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #fff; border-bottom: 1px solid var(--line); }
.cmmn .trust > div { padding: 28px 24px; display: flex; gap: 14px; align-items: center; border-right: 1px solid var(--line); }
.cmmn .trust > div:last-child { border-right: 0; }
.cmmn .trust .is-badge { justify-content: center; }
.cmmn .trust .trust-badge { height: var(--h, 72px); max-width: 100%; width: auto; object-fit: contain; display: block; }
.cmmn .trust strong { display: block; font-size: 16px; line-height: 1.35; }
.cmmn .trust span:not(.ico) { font-size: 14px; color: var(--muted); line-height: 1.45; }
.cmmn .svc { padding: 28px; gap: 16px; }
.cmmn .svc h3 { font-size: 20px; }
.cmmn .svc ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 15px; color: var(--body); }
.cmmn .svc li { display: flex; gap: 10px; align-items: flex-start; }
.cmmn .svc li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--teal); margin-top: 9px; flex-shrink: 0; }
.cmmn .svc .link { margin-top: auto; }
.cmmn .why { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
.cmmn .why-l { display: flex; flex-direction: column; gap: 18px; }
.cmmn .why-img { border-radius: 16px; aspect-ratio: 16 / 9; margin-top: 8px; }
.cmmn .val { display: flex; flex-direction: column; gap: 12px; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.cmmn .val h3 { font-size: 19px; }
.cmmn .val p { font-size: 15px; line-height: 1.6; color: var(--sub); }
.cmmn .logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.cmmn .logo-box { height: 96px; border-radius: 12px; background: #fff; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; padding: 16px; }
.cmmn .logo-box img { max-height: 56px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: .2s; }
.cmmn .logo-box:hover img { filter: none; opacity: 1; }
.cmmn .gal { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 190px; grid-auto-flow: dense; gap: 12px; }
.cmmn .tile { position: relative; display: block; width: 100%; height: 100%; border: 0; padding: 0; border-radius: 14px; overflow: hidden; background: var(--ph); text-align: left; }
.cmmn .tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.cmmn .tile:hover img { transform: scale(1.05); }
.cmmn .tile .cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 14px 12px; background: linear-gradient(180deg, rgba(9,35,53,0), rgba(9,35,53,.88)); color: #fff; display: flex; flex-direction: column; gap: 2px; }
.cmmn .tile .cap strong { font-size: 14px; font-weight: 600; line-height: 1.3; }
.cmmn .tile .cap span { font-size: 12px; color: #D6E6F2; }
.cmmn .tile .new { position: absolute; top: 12px; left: 12px; background: var(--gold); color: var(--ink); font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.cmmn .gal .tile.is-hidden { display: none; }
.cmmn .lb { position: fixed; inset: 0; z-index: 100; background: rgba(8,18,28,.94); display: flex; align-items: center; justify-content: center; padding: 24px; opacity: 0; transition: opacity .25s ease; }
.cmmn .lb[hidden] { display: none; }
.cmmn .lb.on { opacity: 1; }
.cmmn .lb-box { width: min(1100px, 100%); display: flex; flex-direction: column; gap: 14px; }
.cmmn .lb-img { height: min(72vh, 720px); display: flex; align-items: center; justify-content: center; }
.cmmn .lb-img img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 10px; }
.cmmn .lb-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: #fff; }
.cmmn .lb-row strong { display: block; font-family: var(--head); font-size: 18px; }
.cmmn .lb-row span { color: #C9D6E2; font-size: 14px; }
.cmmn .lb-btn { width: 48px; height: 48px; flex-shrink: 0; border-radius: 50%; border: 1px solid rgba(255,255,255,.7); background: transparent; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.cmmn .lb-btn:hover { background: rgba(255,255,255,.12); }
.cmmn .page-hero { padding-top: 72px; padding-bottom: 48px; }
.cmmn .page-hero .ph-l { display: flex; flex-direction: column; gap: 18px; max-width: 960px; }
.cmmn .page-hero .lead { max-width: 780px; }
.cmmn .news-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-bottom: 32px; }
.cmmn .sbox { display: flex; flex-direction: column; gap: 8px; width: 360px; flex-shrink: 0; }
.cmmn .sbox label { font-size: 13px; font-weight: 600; color: var(--sub); }
.cmmn .search { height: 52px; padding: 0 16px; display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--line2); border-radius: 12px; color: var(--muted); }
.cmmn .search:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px var(--tint); }
.cmmn .search input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font-size: 16px; color: var(--ink); }
.cmmn .chips { display: flex; gap: 10px; flex-wrap: wrap; }
.cmmn .proj-chips { margin-bottom: 32px; }
.cmmn .chips-bar { padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cmmn .chip { height: 44px; padding: 0 18px; display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; border: 1px solid var(--line2); background: #fff; color: var(--ink); font-size: 15px; font-weight: 500; white-space: nowrap; flex-shrink: 0; text-decoration: none; transition: .2s; }
.cmmn .chip:hover { border-color: var(--blue); }
.cmmn .chip small { font-size: 13px; color: var(--muted); }
.cmmn .chip.on { background: var(--blue); border-color: var(--blue); color: #fff; font-weight: 600; }
.cmmn .chip.on small { color: #D6E6F2; }
.cmmn .feat-wrap { padding-top: 40px; }
.cmmn .feat { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: center; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 20px; text-decoration: none; color: var(--ink); transition: box-shadow .25s; }
.cmmn .feat:hover { box-shadow: 0 14px 34px rgba(14,63,95,.10); }
.cmmn .feat .media, .cmmn .feat > .ph { aspect-ratio: 16 / 10; border-radius: 14px; }
.cmmn .feat .t { display: flex; flex-direction: column; gap: 18px; padding-right: 24px; }
.cmmn .feat h2 { font-size: 36px; line-height: 1.18; }
.cmmn .feat .lead { font-size: 17px; }
.cmmn .news-sec { padding-top: 56px; }
.cmmn .news-sec > .h2 { margin-bottom: 28px; }
.cmmn .art { display: flex; flex-direction: column; align-items: center; }
.cmmn .art .hd { width: 800px; max-width: 100%; padding-top: 56px; display: flex; flex-direction: column; gap: 20px; }
.cmmn .art h1 { font-size: 48px; line-height: 1.14; }
.cmmn .standfirst { font-size: 20px; }
.cmmn .byline { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cmmn .byline .meta { font-size: 15px; }
.cmmn .byline strong { color: var(--ink); }
.cmmn .avatar { width: 40px; height: 40px; border-radius: 50%; font-weight: 700; font-size: 14px; }
.cmmn .shares { display: flex; gap: 8px; }
.cmmn .share { height: 40px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line2); border-radius: 999px; background: transparent; font-size: 14px; font-weight: 500; color: var(--ink); text-decoration: none; }
.cmmn .share:hover { border-color: var(--blue); color: var(--blue); }
.cmmn .fig { margin: 40px 0 0; width: 1200px; max-width: 100%; }
.cmmn .fig img { width: 100%; max-height: 640px; object-fit: cover; border-radius: 20px; display: block; }
.cmmn .fig figcaption { font-size: 14px; color: var(--muted); margin-top: 10px; }
.cmmn .art .body { width: 720px; max-width: 100%; padding-top: 48px; padding-bottom: 32px; }
.cmmn .glance { padding: 28px 32px; border-radius: 16px; background: #fff; border: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; gap: 18px 32px; font-size: 16px; line-height: 1.5; margin-bottom: 32px; }
.cmmn .glance .eyebrow { grid-column: 1 / -1; }
.cmmn .glance span:not(.eyebrow) { display: block; font-size: 13px; color: var(--muted); }
.cmmn .tags { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.cmmn .tag { padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--line2); font-size: 14px; font-weight: 500; color: var(--ink); text-decoration: none; }
.cmmn .entry-content { font-size: 18px; line-height: 1.75; color: var(--body); }
.cmmn .entry-content > * + * { margin-top: 1.1em; }
.cmmn .entry-content h2 { font-size: 28px; color: var(--ink); margin-top: 1.6em; }
.cmmn .entry-content h3 { font-size: 22px; color: var(--ink); margin-top: 1.4em; }
.cmmn .entry-content a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cmmn .entry-content ul, .cmmn .entry-content ol { padding-left: 1.3em; }
.cmmn .entry-content li + li { margin-top: .4em; }
.cmmn .entry-content blockquote { margin-left: 0; margin-right: 0; padding: 4px 0 4px 24px; border-left: 4px solid var(--teal); font-family: var(--head); font-size: 22px; line-height: 1.5; color: var(--ink); }
.cmmn .entry-content figure { margin-left: 0; margin-right: 0; }
.cmmn .entry-content img { border-radius: 14px; }
.cmmn .entry-content figcaption, .cmmn .entry-content .wp-element-caption { font-size: 14px; color: var(--muted); margin-top: 8px; }
.cmmn .entry-content .wp-block-gallery { gap: 12px; }
.cmmn .entry-content table { width: 100%; border-collapse: collapse; font-size: 16px; }
.cmmn .entry-content th, .cmmn .entry-content td { border-bottom: 1px solid var(--line); padding: 10px 8px; text-align: left; }
.cmmn .jump { position: sticky; top: 68px; z-index: 5; background: rgba(247,245,240,.96); border-bottom: 1px solid var(--line); padding-top: 14px; padding-bottom: 14px; }
.cmmn .sgroup { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; padding-top: 72px; padding-bottom: 72px; border-bottom: 1px solid var(--line); scroll-margin-top: 140px; }
.cmmn .sgroup:last-child { border-bottom: 0; }
.cmmn .sgroup > .g2 { align-items: start; }
.cmmn .sgroup .side { display: flex; flex-direction: column; gap: 16px; align-self: start; align-items: flex-start; position: sticky; top: 160px; }
.cmmn .sgroup .lead { font-size: 17px; }
.cmmn .sitem { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 8px; color: var(--ink); text-decoration: none; transition: .25s; }
.cmmn a.sitem:hover { box-shadow: 0 14px 34px rgba(14,63,95,.10); }
.cmmn .sitem .media, .cmmn .sitem > .ph { aspect-ratio: 16 / 9; border-radius: 10px; margin-bottom: 8px; }
.cmmn .sitem h3 { font-size: 19px; }
.cmmn .sitem p { font-size: 15px; line-height: 1.6; color: var(--sub); }
.cmmn .steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; list-style: none; margin: 0; padding: 0; counter-reset: s; }
.cmmn .step { padding: 28px; background: #fff; border-radius: 16px; border: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.cmmn .step::before { counter-increment: s; content: counter(s, decimal-leading-zero); font-family: var(--head); font-weight: 700; font-size: 15px; color: var(--teal-d); }
.cmmn .step h3 { font-size: 20px; }
.cmmn .step p { font-size: 15px; line-height: 1.6; color: var(--sub); }
.cmmn .contact-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; padding-bottom: 64px; }
.cmmn .form-card { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 36px; }
.cmmn .form-card input:not([type=submit]):not([type=checkbox]):not([type=radio]), .cmmn .form-card select, .cmmn .form-card textarea { width: 100%; height: 50px; padding: 0 14px; border: 1px solid var(--line2); border-radius: 10px; font-size: 16px; color: var(--ink); background: #fff; }
.cmmn .form-card textarea { height: 130px; padding: 12px 14px; resize: vertical; }
.cmmn .form-card input[type=submit], .cmmn .form-card button[type=submit] { height: 48px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--blue); color: #fff; font-weight: 600; }
.cmmn .cinfo { display: flex; flex-direction: column; gap: 16px; }
.cmmn .cbox { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 16px; display: flex; gap: 16px; align-items: flex-start; font-size: 15px; line-height: 1.6; color: var(--sub); }
.cmmn .cbox strong { display: block; color: var(--ink); font-size: 16px; margin-bottom: 2px; }
.cmmn .map { border-radius: 20px; overflow: hidden; margin-bottom: 96px; border: 1px solid var(--line); }
.cmmn .map iframe { width: 100%; height: 380px; border: 0; display: block; }
.cmmn .founder { padding-left: 16px; border-left: 6px solid var(--gold); margin-top: 20px; color: var(--muted); font-size: 15px; }
.cmmn .founder strong { color: var(--ink); font-size: 17px; }
.cmmn .cta-wrap { padding-top: 24px; padding-bottom: 96px; }
.cmmn .cta { background: var(--blue); color: #fff; border-radius: 24px; padding: 56px 64px; display: flex; align-items: center; justify-content: space-between; gap: 40px; border-top: 6px solid var(--teal); }
.cmmn .cta .l { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
.cmmn .cta h2 { color: #fff; }
.cmmn .cta p { font-size: 18px; line-height: 1.6; color: #D6E6F2; }
.cmmn .cta .r { display: flex; gap: 12px; flex-wrap: wrap; }
.cmmn .empty { text-align: center; }
.cmmn .empty .h2 { margin-bottom: 12px; }
.cmmn .empty p + p { margin-top: 24px; }
.cmmn .gal-chips { margin-bottom: 28px; }
.cmmn .gal.uniform { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: auto; grid-auto-flow: row; gap: 14px; }
.cmmn .gal.uniform .tile { aspect-ratio: 4 / 3; height: auto; border-radius: 14px; }
.cmmn .gal .tile.is-out, .cmmn .gal .tile.is-hidden { display: none; }
.cmmn .gal.uniform .tile .cap { opacity: 0; transform: translateY(8px); transition: opacity .3s ease, transform .3s ease; }
.cmmn .gal.uniform .tile:hover .cap, .cmmn .gal.uniform .tile:focus-visible .cap { opacity: 1; transform: none; }
.cmmn .more-wrap[hidden] { display: none; }
.cmmn .lb, .cmmn .lb-group { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.cmmn .lb-group img { pointer-events: none; -webkit-user-drag: none; }
.cmmn .lb-img { position: relative; width: 100%; }
.cmmn .lb-pic { width: 100%; height: 100%; background: center / contain no-repeat; border-radius: 10px; }
.cmmn .lb-shield { position: absolute; inset: 0; }
.cmmn .si-ph { display: flex; align-items: center; justify-content: center; color: var(--blue); background: linear-gradient(135deg, var(--tint), #fff 70%); }
.cmmn .si-ph.t { color: var(--teal-d); background: linear-gradient(135deg, var(--ttint), #fff 70%); }
.cmmn .si-ph.g { color: #8A5A00; background: linear-gradient(135deg, var(--gtint), #fff 70%); }
.cmmn .si-ph svg { opacity: .55; }
.cmmn .sgroup > .g2 { align-items: stretch; }
.cmmn .sitem { padding: 0; overflow: hidden; gap: 0; }
.cmmn .sitem .media { aspect-ratio: 16 / 10; border-radius: 0; margin: 0; }
.cmmn a.sitem:hover .media img { transform: scale(1.04); }
.cmmn .si-in { padding: 24px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.cmmn .si-in .link { margin-top: auto; padding-top: 6px; }
.cmmn .points { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cmmn .points li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--body); }
.cmmn .points li svg { flex-shrink: 0; color: var(--teal-d); margin-top: 1px; }
.cmmn .entry-content .points { padding: 0; margin-bottom: 1.6em; }
.cmmn .stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 48px 0 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cmmn .stats > div { display: flex; flex-direction: column-reverse; gap: 4px; padding: 28px 24px; border-right: 1px solid var(--line); }
.cmmn .stats > div:last-child { border-right: 0; }
.cmmn .stats dd { margin: 0; font-family: var(--head); font-weight: 600; font-size: 52px; line-height: 1; color: var(--blue); letter-spacing: -.02em; }
.cmmn .stats dt { font-size: 15px; color: var(--muted); }
.cmmn .story { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 64px; align-items: start; }
.cmmn .story-h { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 120px; }
.cmmn .story-body { max-width: 720px; }
.cmmn .story-body > *:first-child { margin-top: 0; }
.cmmn .story-body p:first-child { font-size: 21px; line-height: 1.6; color: var(--ink); }
.cmmn .ceo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: center; }
.cmmn .ceo.no-img { grid-template-columns: minmax(0, 1fr); max-width: 900px; }
.cmmn .ceo-img { aspect-ratio: 4 / 5; border-radius: 20px; }
.cmmn .ceo-t { display: flex; flex-direction: column; gap: 18px; }
.cmmn .ceo-t blockquote { margin: 0; padding-left: 24px; border-left: 4px solid var(--teal); }
.cmmn .ceo-t blockquote p { font-family: var(--head); font-weight: 500; font-size: 22px; line-height: 1.55; color: var(--ink); }
.cmmn .mv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cmmn .mv-box { background: var(--blue); color: #fff; border-radius: 20px; padding: 40px 44px; display: flex; flex-direction: column; gap: 16px; border-top: 6px solid var(--teal); }
.cmmn .mv-box.is-teal { background: var(--blue-d); border-top-color: var(--gold); }
.cmmn .mv-box p { font-family: var(--head); font-weight: 500; font-size: 22px; line-height: 1.5; color: #fff; }
.cmmn .values-head { margin-top: 80px; }
.cmmn .creds .cred { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.cmmn .cred-logo { height: 76px; display: flex; align-items: center; margin-bottom: 8px; }
.cmmn .cred-logo img { height: 100%; width: auto; max-width: 100%; object-fit: contain; }
.cmmn .cred h3 { font-size: 18px; }
.cmmn .cred p { font-size: 15px; line-height: 1.6; color: var(--sub); }
.cmmn .read-bar { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 60; pointer-events: none; }
.cmmn .read-bar span { display: block; height: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; }
.cmmn .marquee { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 4px 0; outline-offset: -3px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
.cmmn .marquee::-webkit-scrollbar { display: none; }
.cmmn .mq-track { display: flex; gap: 16px; width: max-content; padding: 0 16px; }
.cmmn .mq-track .tile { flex: none; width: 400px; height: auto; aspect-ratio: 4 / 3; border-radius: 16px; }
.cmmn .mq-track .tile .cap { opacity: 0; transform: translateY(8px); transition: opacity .3s ease, transform .3s ease; }
.cmmn .mq-track .tile:hover .cap, .cmmn .mq-track .tile:focus-visible .cap { opacity: 1; transform: none; }
.cmmn .mq-bar { display: flex; justify-content: center; align-items: center; gap: 12px; padding-top: 36px; }
.cmmn .mq-pause { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line2); background: #fff; color: var(--ink); display: inline-flex; align-items: center; justify-content: center; }
.cmmn .mq-pause:hover { border-color: var(--blue); color: var(--blue); }
.cmmn #gallery .sec-head { margin-bottom: 36px; }
.cmmn .about-hero { padding-top: 72px; padding-bottom: 56px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; align-items: center; }
.cmmn .about-hero.has-photos { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
.cmmn .about-hero .ph-l { display: flex; flex-direction: column; gap: 18px; }
.cmmn .about-hero .ctas { padding-top: 8px; }
.cmmn .mosaic { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: repeat(6, 64px); gap: 14px; }
.cmmn .mosaic .media { border-radius: 20px; box-shadow: 0 18px 40px rgba(14,63,95,.14); position: relative; z-index: 1; animation: mosaicIn .9s ease both; }
.cmmn .mosaic.n1 .m0 { grid-column: 1 / -1; grid-row: 1 / -1; }
.cmmn .mosaic .m0 { grid-column: 1 / 5; grid-row: 1 / 5; }
.cmmn .mosaic .m1 { grid-column: 5 / 7; grid-row: 2 / 5; animation-delay: .12s; }
.cmmn .mosaic .m2 { grid-column: 2 / 5; grid-row: 5 / 7; animation-delay: .24s; }
.cmmn .mosaic .m3 { grid-column: 5 / 7; grid-row: 5 / 7; animation-delay: .36s; }
.cmmn .mosaic.n2 .m1 { grid-row: 2 / 7; }
.cmmn .mosaic.n3 .m2 { grid-column: 1 / 5; }
.cmmn .mosaic-ring { position: absolute; z-index: 0; width: 46%; aspect-ratio: 1; right: -6%; top: -8%; border-radius: 50%; border: 18px solid var(--ttint); }
@keyframes mosaicIn { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
.cmmn .commit .sec-head.center { justify-content: center; text-align: center; }
.cmmn .commit .sec-head.center .l { align-items: center; max-width: 760px; margin: 0 auto; }
.cmmn .commit .stats { margin: 0 0 32px; }
.cmmn .tl { list-style: none; margin: 0 auto; padding: 0; position: relative; max-width: 1080px; }
.cmmn .tl::before { content: ""; position: absolute; left: 50%; top: 8px; bottom: 8px; width: 2px; margin-left: -1px; background: var(--line2); }
.cmmn .tl-item { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr); align-items: center; padding-bottom: 40px; }
.cmmn .tl-item:last-child { padding-bottom: 0; }
.cmmn .tl-card { grid-column: 1; grid-row: 1; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 24px 28px; display: flex; flex-direction: column; gap: 8px; }
.cmmn .tl-dot { grid-column: 2; grid-row: 1; justify-self: center; width: 22px; height: 22px; border-radius: 50%; background: var(--sand); border: 6px solid var(--blue); position: relative; z-index: 1; }
.cmmn .tl-photo { grid-column: 3; grid-row: 1; }
.cmmn .tl-photo .media { aspect-ratio: 16 / 10; border-radius: 18px; }
.cmmn .tl-item:nth-child(even) .tl-card { grid-column: 3; }
.cmmn .tl-item:nth-child(even) .tl-photo { grid-column: 1; }
.cmmn .tl-item:nth-child(3n+2) .tl-dot { border-color: var(--teal); }
.cmmn .tl-item:nth-child(3n) .tl-dot { border-color: var(--gold); }
.cmmn .tl-year { align-self: flex-start; padding: 4px 12px; border-radius: 999px; background: var(--tint); color: var(--blue); font-family: var(--head); font-weight: 600; font-size: 14px; }
.cmmn .tl-card h3 { font-size: 20px; }
.cmmn .tl-card p { font-size: 15px; line-height: 1.6; color: var(--sub); }
.cmmn .slide.is-anim .bg { background: radial-gradient(120% 90% at 85% 100%, #0F4A6B 0%, #0A2D45 45%, #071D2E 100%); }
.cmmn .slide.is-anim .bg::after { background: linear-gradient(90deg, rgba(7,29,46,.85) 0%, rgba(7,29,46,.45) 40%, rgba(7,29,46,0) 70%); }
.cmmn .s-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.cmmn .s-cards { position: absolute; z-index: 2; right: var(--pad); top: 48px; display: flex; gap: 16px; align-items: flex-start; }
.cmmn .s-card { position: relative; display: block; width: 176px; aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 50px rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.14); opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.cmmn .slide.on .s-card { opacity: 1; transform: none; animation: cardFloat 7s ease-in-out infinite alternate; }
.cmmn .s-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cmmn .s-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,29,46,0) 45%, rgba(7,29,46,.85)); }
.cmmn .s-card span { position: absolute; z-index: 1; left: 14px; right: 14px; bottom: 14px; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.35; }
.cmmn .s-card.c1 { margin-top: 64px; }
.cmmn .s-card.c2 { margin-top: 20px; }
.cmmn .s-card.c3 { margin-top: 92px; }
.cmmn .slide.on .s-card.c1 { transition-delay: .15s; animation-delay: -2s; }
.cmmn .slide.on .s-card.c2 { transition-delay: .3s; animation-delay: -4s; }
.cmmn .slide.on .s-card.c3 { transition-delay: .45s; animation-delay: -1s; }
@keyframes cardFloat { from { transform: translateY(0); } to { transform: translateY(-14px); } }
.cmmn .page-hero .ph-l > *, .cmmn .about-hero .ph-l > * { animation: introUp .9s cubic-bezier(.22,.61,.36,1) both; }
.cmmn .page-hero .ph-l > :nth-child(2), .cmmn .about-hero .ph-l > :nth-child(2) { animation-delay: .08s; }
.cmmn .page-hero .ph-l > :nth-child(3), .cmmn .about-hero .ph-l > :nth-child(3) { animation-delay: .16s; }
.cmmn .page-hero .ph-l > :nth-child(4), .cmmn .about-hero .ph-l > :nth-child(4) { animation-delay: .24s; }
@keyframes introUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.cmmn .eyebrow::before { transform-origin: left; animation: eyebrowIn .9s cubic-bezier(.22,.61,.36,1) both; }
@keyframes eyebrowIn { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.cmmn .link svg, .cmmn .btn svg { transition: transform .3s cubic-bezier(.22,.61,.36,1); }
.cmmn .link:hover svg, .cmmn a:hover > .link svg, .cmmn .card:hover .link svg, .cmmn .sitem:hover .link svg { transform: translateX(4px); }
.cmmn .sitem .media img, .cmmn .tl-photo img, .cmmn .ceo-img img, .cmmn .why-img img, .cmmn .cred-logo img { transition: transform 1s cubic-bezier(.22,.61,.36,1); }
.cmmn .sitem:hover .media img, .cmmn .tl-item:hover .tl-photo img { transform: scale(1.05); }
.cmmn .cred, .cmmn .val, .cmmn .tl-card, .cmmn .mv-box { transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease, border-color .4s ease; }
.cmmn .cred:hover, .cmmn .tl-item:hover .tl-card { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(14,63,95,.12); }
.cmmn .cred:hover .cred-logo img { transform: scale(1.05); }
.cmmn .mv-box:hover { transform: translateY(-4px); }
.cmmn .mosaic .media { translate: 0 var(--py, 0px); }
.cmmn .ceo-img img, .cmmn .why-img img { scale: 1.08; translate: 0 var(--py, 0px); }
.cmmn .tl::after { content: ""; position: absolute; left: 50%; top: 8px; width: 2px; margin-left: -1px; height: calc((100% - 16px) * var(--tl, 0)); background: linear-gradient(var(--teal), var(--blue)); border-radius: 2px; }
.cmmn .tl-ph { display: flex; align-items: center; justify-content: center; background: radial-gradient(120% 120% at 100% 0%, rgba(20,192,166,.35), transparent 55%), linear-gradient(135deg, var(--blue-d), var(--blue)); }
.cmmn .tl-ph span { font-family: var(--head); font-weight: 700; font-size: 72px; letter-spacing: -.03em; color: rgba(255,255,255,.9); }
.cmmn .g-review { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 22px; border-radius: 16px; background: var(--sand); border: 1px solid var(--line); }
.cmmn .g-review p { font-size: 15px; color: var(--sub); }
.cmmn .logo-marquee { display: flex; flex-direction: column; gap: 14px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.cmmn .lm-row { overflow: hidden; }
.cmmn .lm-track { display: flex; gap: 14px; width: max-content; animation: lmMove calc(var(--n, 8) * 4.5s) linear infinite; }
.cmmn .lm-row.rev .lm-track { animation-direction: reverse; }
.cmmn .logo-marquee:hover .lm-track { animation-play-state: paused; }
.cmmn .lm-track .logo-box { width: 200px; flex: none; }
@keyframes lmMove { to { transform: translateX(calc(-50% - 7px)); } }
@media (prefers-reduced-motion: reduce) {
	.cmmn .lm-track { animation: none; flex-wrap: wrap; width: auto; }
	.cmmn .lm-track .logo-box[aria-hidden] { display: none; }
}
.cmmn .page-hero.has-img { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; }
.cmmn .ph-img { aspect-ratio: 4 / 3; border-radius: 20px; animation: introUp .9s .2s cubic-bezier(.22,.61,.36,1) both; }
@media (max-width: 1180px) {
	.cmmn { --pad: 40px; }
	.cmmn .g4, .cmmn .steps, .cmmn .trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cmmn .trust > div:nth-child(2) { border-right: 0; }
	.cmmn .trust > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
	.cmmn .logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cmmn .s-h { font-size: 46px; }
	.cmmn .h1 { font-size: 48px; }
}
@media (max-width: 760px) {
	.cmmn { --pad: 20px; --hdr: 68px; }
	.cmmn .sec { padding-top: 56px; padding-bottom: 56px; }
	@keyframes dropIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
	.cmmn .h1 { font-size: 36px; line-height: 1.12; }
	.cmmn .h2 { font-size: 28px; }
	.cmmn .h2.sm { font-size: 24px; }
	.cmmn .lead { font-size: 17px; }
	.cmmn .sec-head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 28px; }
	.cmmn .g2, .cmmn .g3, .cmmn .g4, .cmmn .steps, .cmmn .why, .cmmn .feat, .cmmn .contact-grid, .cmmn .sgroup { grid-template-columns: minmax(0, 1fr); }
	.cmmn .slider { height: 600px; }
	.cmmn .slide { align-items: flex-start; }
	.cmmn .slide .bg::after { background: linear-gradient(180deg, rgba(9,35,53,.9) 0%, rgba(9,35,53,.7) 60%, rgba(9,35,53,.45)); }
	.cmmn .s-in { padding-top: 44px; gap: 16px; }
	.cmmn .s-h { font-size: 34px; line-height: 1.12; }
	.cmmn .s-p { font-size: 16px; }
	.cmmn .slide .ctas { flex-direction: column; align-items: stretch; }
	.cmmn .s-ctrl { bottom: 20px; }
	.cmmn .dots button { width: 32px; }
	.cmmn .dots button span { width: 18px; }
	.cmmn .dots button.on span { width: 30px; }
	.cmmn .trust { grid-template-columns: minmax(0, 1fr); }
	.cmmn .trust > div { border-right: 0; border-bottom: 1px solid var(--line); padding: 18px 20px; }
	.cmmn .trust .trust-badge { height: calc(var(--h, 72px) * .8); }
	.cmmn .trust .is-badge { justify-content: center; }
	.cmmn .trust.all-badges { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cmmn .trust.all-badges > div { padding: 20px 12px; }
	.cmmn .trust.all-badges > div:nth-child(odd) { border-right: 1px solid var(--line); }
	.cmmn .trust.all-badges > div:nth-child(n+3) { border-bottom: 0; }
	.cmmn .why { gap: 32px; }
	.cmmn .logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cmmn .gal { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 8px; }
	.cmmn .tile .cap { padding: 22px 10px 8px; }
	.cmmn .tile .cap strong { font-size: 12px; }
	.cmmn .tile .cap span { display: none; }
	.cmmn .cta { flex-direction: column; align-items: stretch; padding: 32px 24px; gap: 24px; border-radius: 20px; }
	.cmmn .cta .r { flex-direction: column; }
	.cmmn .cta-wrap { padding-bottom: 56px; }
	.cmmn .news-top { flex-direction: column; align-items: stretch; }
	.cmmn .sbox { width: 100%; }
	.cmmn .chips-bar, .cmmn .jump .chips, .cmmn .proj-chips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.cmmn .jump { top: 60px; }
	.cmmn .feat { padding: 0; gap: 0; overflow: hidden; }
	.cmmn .feat .media, .cmmn .feat > .ph { border-radius: 0; }
	.cmmn .feat .t { padding: 20px; gap: 12px; }
	.cmmn .feat h2 { font-size: 24px; }
	.cmmn .page-hero { padding-top: 36px; padding-bottom: 28px; }
	.cmmn .art .hd { padding-top: 28px; gap: 16px; }
	.cmmn .art h1 { font-size: 30px; }
	.cmmn .standfirst { font-size: 18px; }
	.cmmn .shares { width: 100%; }
	.cmmn .shares > * { flex: 1; }
	.cmmn .fig img { border-radius: 14px; }
	.cmmn .art .body { padding-top: 28px; }
	.cmmn .entry-content { font-size: 17px; }
	.cmmn .glance { grid-template-columns: minmax(0, 1fr); padding: 20px; gap: 12px; }
	.cmmn .sgroup { gap: 24px; padding-top: 48px; padding-bottom: 48px; }
	.cmmn .sgroup .side { position: static; }
	.cmmn .form-card { padding: 22px; gap: 14px; }
	.cmmn .lb { padding: 12px; }
	.cmmn .lb-img { height: 60vh; }
}
@media (max-width: 1180px) {
	.cmmn .gal.uniform { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cmmn .story { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.cmmn .story-h { position: static; }
	.cmmn .ceo { gap: 40px; }
	.cmmn .creds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.cmmn .gal.uniform { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.cmmn .mq-track { gap: 10px; padding: 0 10px; }
	.cmmn .mq-track .tile { width: 260px; border-radius: 12px; }
	.cmmn .mq-track .tile .cap { display: none; }
	.cmmn .marquee { -webkit-mask-image: none; mask-image: none; }
	.cmmn .mq-bar { padding-top: 24px; }
	.cmmn .gal.uniform .tile { border-radius: 10px; }
	.cmmn .gal.uniform .tile .cap { display: none; }
	.cmmn .gal-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-left: calc(var(--pad) * -1); margin-right: calc(var(--pad) * -1); padding: 0 var(--pad); margin-bottom: 20px; }
	.cmmn .gal-chips::-webkit-scrollbar { display: none; }
	.cmmn .stats { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
	.cmmn .stats > div { border-right: 0; border-bottom: 1px solid var(--line); padding: 18px 4px; flex-direction: row-reverse; justify-content: space-between; align-items: center; }
	.cmmn .stats > div:last-child { border-bottom: 0; }
	.cmmn .stats dd { font-size: 36px; }
	.cmmn .story-body p:first-child { font-size: 19px; }
	.cmmn .ceo { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.cmmn .ceo-img { aspect-ratio: 4 / 3; }
	.cmmn .ceo-t blockquote p { font-size: 19px; }
	.cmmn .mv { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.cmmn .mv-box { padding: 28px 24px; }
	.cmmn .mv-box p { font-size: 19px; }
	.cmmn .values-head { margin-top: 56px; }
	.cmmn .creds { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1180px) {
	.cmmn .about-hero.has-photos { grid-template-columns: minmax(0, 1fr); }
	.cmmn .mosaic { max-width: 640px; }
}
@media (max-width: 760px) {
	.cmmn .about-hero { padding-top: 36px; padding-bottom: 32px; gap: 32px; }
	.cmmn .about-hero .ctas { flex-direction: column; align-items: stretch; }
	.cmmn .mosaic { grid-template-rows: repeat(6, 40px); gap: 8px; }
	.cmmn .mosaic .media { border-radius: 12px; }
	.cmmn .mosaic-ring { border-width: 10px; }
	.cmmn .tl::before { left: 10px; margin-left: 0; }
	.cmmn .tl-item { grid-template-columns: 22px minmax(0, 1fr); column-gap: 16px; row-gap: 12px; padding-bottom: 28px; align-items: start; }
	.cmmn .tl-dot { grid-column: 1; grid-row: 1; margin-top: 18px; }
	.cmmn .tl-item .tl-card, .cmmn .tl-item:nth-child(even) .tl-card { grid-column: 2; grid-row: 1; padding: 18px 20px; }
	.cmmn .tl-item .tl-photo, .cmmn .tl-item:nth-child(even) .tl-photo { grid-column: 2; grid-row: 2; }
	.cmmn .tl-photo:empty { display: none; }
}
@media (max-width: 1440px) {
	.cmmn .s-card.c3 { display: none; }
}
@media (max-width: 1180px) {
	.cmmn .s-cards { display: none; }
}
@media (max-width: 760px) {
	.cmmn .slide.is-anim .bg::after { background: linear-gradient(180deg, rgba(7,29,46,.75) 0%, rgba(7,29,46,.35) 70%); }
}
@media (prefers-reduced-motion: reduce) {
	.cmmn .slide.on .s-card { animation: none; }
}
.cmmn .slide.is-anim .s-h { max-width: 620px; }
.cmmn .slide.is-anim .s-p { max-width: 520px; }
.cmmn .about-hero { overflow-x: clip; }
@media (max-width: 760px) {
	.cmmn .tl::after { left: 10px; margin-left: 0; }
	.cmmn .tl-ph span { font-size: 48px; }
}
@media (prefers-reduced-motion: reduce) {
	.cmmn .page-hero .ph-l > *, .cmmn .about-hero .ph-l > *, .cmmn .eyebrow::before, .cmmn .mosaic .media { animation: none !important; }
	.cmmn .ceo-img img, .cmmn .why-img img { scale: 1; }
	.cmmn .tl::after { display: none; }
}
@media (max-width: 1180px) {
	.cmmn .page-hero.has-img { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 760px) {
	.cmmn .lm-track .logo-box { width: 150px; }
}
.cmmn .s-cards.n1 .s-card { width: 420px; aspect-ratio: 4 / 3; }
.cmmn .s-cards.n2 .s-card { width: 250px; }
.cmmn .s-cards.n2 .s-card.c1 { margin-top: 72px; }
.cmmn .s-cards.n3 .s-card { width: 200px; }
.cmmn .s-card:not(:has(span))::after { background: linear-gradient(180deg, rgba(7,29,46,0) 60%, rgba(7,29,46,.35)); }
@media (max-width: 1440px) {
	.cmmn .s-cards.n1 .s-card { width: 360px; }
	.cmmn .s-cards.n2 .s-card { width: 220px; }
}
.cmmn .media img { object-position: 50% 30%; }
.cmmn .ceo-img { aspect-ratio: auto; background: transparent; }
.cmmn .ceo-img img { height: auto; max-height: 680px; object-fit: cover; object-position: 50% 12%; }
.cmmn .ceo-img img { scale: 1; }
.cmmn .tl-photo img, .cmmn .mosaic img, .cmmn .why-img img { object-position: 50% 30%; }
@media (max-width: 760px) {
	.cmmn .ceo-img img { max-height: 520px; }
}
.cmmn.tone .gal .tile img, .cmmn.tone .mq-track .tile img { filter: saturate(var(--tone-sat, .85)) contrast(var(--tone-con, .96)) brightness(var(--tone-bri, .98)); transition: transform .6s ease, filter .5s ease; }
.cmmn.tone .gal .tile::before, .cmmn.tone .mq-track .tile::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(8,20,32,var(--tone-a, .14)) 0%, rgba(8,20,32,var(--tone-b, .24)) 100%); mix-blend-mode: multiply; transition: opacity .5s ease; }
.cmmn.tone .gal .tile .cap, .cmmn.tone .mq-track .tile .cap, .cmmn.tone .tile .new { z-index: 2; }
.cmmn.tone .gal .tile:hover::before, .cmmn.tone .mq-track .tile:hover::before, .cmmn.tone .gal .tile:focus-visible::before, .cmmn.tone .mq-track .tile:focus-visible::before { opacity: .45; }
.cmmn.tone .gal .tile:hover img, .cmmn.tone .mq-track .tile:hover img { filter: saturate(.95) contrast(1) brightness(1); }
.cmmn.tone { --tone-a: .14; --tone-b: .24; --tone-sat: .85; --tone-con: .96; --tone-bri: .98; }
.cmmn .art .hd { width: 760px; gap: 18px; padding-top: 48px; }
.cmmn .art h1 { font-size: 40px; line-height: 1.18; letter-spacing: -.015em; text-wrap: balance; }
.cmmn .art .standfirst { font-family: var(--head); font-weight: 400; font-size: 19px; line-height: 1.6; color: #4A5663; max-width: 700px; letter-spacing: 0; }
.cmmn .art .byline { padding: 14px 0; }
.cmmn .art .byline .meta { font-size: 14px; }
.cmmn .art .fig { width: 1040px; margin-top: 36px; }
.cmmn .art .fig img { max-height: 585px; border-radius: 16px; }
.cmmn .art .fig.is-small { width: 760px; }
.cmmn .art .fig.is-small img { width: auto; max-width: 100%; max-height: 520px; margin: 0 auto; }
.cmmn .art .fig figcaption { font-size: 13px; line-height: 1.45; }
.cmmn .art .body { width: 660px; max-width: 100%; padding-top: 44px; padding-bottom: 32px; }
.cmmn .art .glance { margin-bottom: 36px; font-size: 15px; line-height: 1.5; padding: 22px 26px; }
.cmmn .art .entry-content { font-family: var(--text); font-size: 16px; line-height: 1.75; color: #2F3B47; font-weight: 400; letter-spacing: 0; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.cmmn .art .entry-content > * { margin-top: 0; margin-bottom: 0; }
.cmmn .art .entry-content > * + * { margin-top: 1.25em; }
.cmmn .art .entry-content p { margin: 0; }
.cmmn .art .entry-content p + p { margin-top: 1.25em; }
.cmmn .art .entry-content h2 { font-family: var(--head); font-size: 22px; line-height: 1.35; font-weight: 600; color: var(--ink); letter-spacing: -.005em; margin-top: 2.1em; }
.cmmn .art .entry-content h3 { font-family: var(--head); font-size: 18px; line-height: 1.4; font-weight: 600; color: var(--ink); margin-top: 1.8em; }
.cmmn .art .entry-content > h2 + *, .cmmn .art .entry-content > h3 + * { margin-top: .6em; }
.cmmn .art .entry-content strong { color: var(--ink); font-weight: 600; }
.cmmn .art .entry-content a:not(.btn):not(.share):not(.tag) { color: var(--blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cmmn .art .entry-content ul, .cmmn .art .entry-content ol { padding-left: 1.25em; }
.cmmn .art .entry-content li + li { margin-top: .5em; }
.cmmn .art .entry-content li::marker { color: var(--blue); }
.cmmn .art .entry-content blockquote { margin: 1.9em 0; padding: 2px 0 2px 20px; border-left: 3px solid var(--blue); font-family: var(--head); font-size: 18px; line-height: 1.6; font-weight: 400; color: var(--ink); }
.cmmn .art .entry-content blockquote p { font-size: inherit; color: inherit; }
.cmmn .art .entry-content hr { border: 0; border-top: 1px solid var(--line); margin: 2.4em 0; }
.cmmn .art .entry-content > .art-photos, .cmmn .art .entry-content > .wp-block-image, .cmmn .art .entry-content > .wp-block-gallery, .cmmn .art .entry-content > figure.wp-block-gallery, .cmmn .art .entry-content > .gallery, .cmmn .art .entry-content > .wp-caption, .cmmn .art .entry-content > p:has(> img:only-child), .cmmn .art .entry-content > p:has(> a:only-child > img:only-child) { width: auto !important; max-width: none !important; transform: none !important; margin: 2.2em 0 !important; }
@media (min-width: 900px) {
	.cmmn .art .entry-content > .art-photos, .cmmn .art .entry-content > .wp-block-image, .cmmn .art .entry-content > .wp-block-gallery, .cmmn .art .entry-content > figure.wp-block-gallery, .cmmn .art .entry-content > .gallery, .cmmn .art .entry-content > .wp-caption, .cmmn .art .entry-content > p:has(> img:only-child), .cmmn .art .entry-content > p:has(> a:only-child > img:only-child) { margin-left: -50px !important; margin-right: -50px !important; }
}
.cmmn .art .entry-content img { border-radius: 10px; height: auto; max-width: 100%; }
.cmmn .art .entry-content > p > img, .cmmn .art .entry-content > p > a > img, .cmmn .art .entry-content .wp-caption img, .cmmn .art .entry-content > .wp-block-image img { display: block; margin: 0 auto; width: auto; max-width: 100%; max-height: 560px; }
.cmmn .art .entry-content img.alignleft, .cmmn .art .entry-content img.alignright { max-width: 45%; }
.cmmn .art .entry-content img.alignleft { float: left; margin: 6px 24px 12px 0; }
.cmmn .art .entry-content img.alignright { float: right; margin: 6px 0 12px 24px; }
.cmmn .art .entry-content figcaption, .cmmn .art .entry-content .wp-element-caption, .cmmn .art .entry-content .wp-caption-text, .cmmn .art .entry-content .gallery-caption, .cmmn .art-photos figcaption { font-size: 13px; line-height: 1.45; color: var(--muted); margin-top: 8px; text-align: left; }
.cmmn .art-photos { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; }
.cmmn .art-photos.n1 { grid-template-columns: minmax(0, 1fr); }
.cmmn .art-photos > figure { margin: 0 !important; display: flex; flex-direction: column; min-width: 0; }
.cmmn .art-photos .ap .tile { display: block; width: 100%; padding: 0; border: 0; overflow: hidden; cursor: zoom-in; background: var(--ph); border-radius: 10px; aspect-ratio: 3 / 2; }
.cmmn .art-photos .tile .cap { display: none; }
.cmmn .art-photos .tile img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; max-height: none; }
.cmmn .art-photos > figure:first-child:nth-last-child(odd):not(:only-child) { grid-column: 1 / -1; }
.cmmn .art-photos > figure:first-child:nth-last-child(odd):not(:only-child) .tile { aspect-ratio: 16 / 9; }
.cmmn .art-photos.n1 .tile { aspect-ratio: auto; }
.cmmn .art-photos.n1 .tile img { height: auto; max-height: 560px; }
.cmmn .art .entry-content .wp-block-gallery, .cmmn .art .entry-content > .gallery { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; }
.cmmn .art .entry-content .wp-block-gallery > figure, .cmmn .art .entry-content .gallery-item { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; flex: none !important; display: flex !important; flex-direction: column; }
.cmmn .art .entry-content .wp-block-gallery > figure::before { content: none !important; display: none !important; }
.cmmn .art .entry-content .wp-block-gallery > figure img, .cmmn .art .entry-content .gallery-item img { width: 100% !important; height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; border: 0 !important; max-height: none; }
.cmmn .art .entry-content .wp-block-gallery > figure:first-child:nth-last-child(odd):not(:only-child) { grid-column: 1 / -1; }
.cmmn .art .entry-content .wp-block-gallery > figure:first-child:nth-last-child(odd):not(:only-child) img { aspect-ratio: 16 / 9; }
.cmmn .art .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static !important; background: none !important; color: var(--muted) !important; padding: 0 !important; margin-top: 8px; max-height: none !important; overflow: visible !important; text-shadow: none !important; }
.cmmn .art .entry-content .gallery br { display: none; }
@media (max-width: 760px) {
	.cmmn .art .hd { padding-top: 28px; gap: 14px; }
	.cmmn .art h1 { font-size: 28px; line-height: 1.22; }
	.cmmn .art .standfirst { font-size: 17px; line-height: 1.55; }
	.cmmn .art .fig { margin-top: 24px; }
	.cmmn .art .fig img { border-radius: 12px; }
	.cmmn .art .body { padding-top: 28px; }
	.cmmn .art .entry-content { font-size: 16px; line-height: 1.7; }
	.cmmn .art .entry-content h2 { font-size: 20px; }
	.cmmn .art .entry-content h3 { font-size: 17px; }
	.cmmn .art .entry-content blockquote { font-size: 17px; padding-left: 16px; }
	.cmmn .art .entry-content > .art-photos, .cmmn .art .entry-content > .wp-block-gallery, .cmmn .art .entry-content > .gallery { gap: 6px !important; margin: 1.8em 0 !important; }
	.cmmn .art .entry-content img.alignleft, .cmmn .art .entry-content img.alignright { float: none; max-width: 100%; margin: 1.6em 0; }
}
.cmmn .art-photos { align-items: start; }
.cmmn .art .entry-content > .glance + * { margin-top: 0; }
.cmmn .art .entry-content > .glance { margin-bottom: 36px; }
.cmmn .art .fig.fig-hero { width: min(1280px, calc(100% - 48px)); max-width: none; margin: 36px auto 0; padding: 0; }
.cmmn .art .fig.fig-hero img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; max-height: none; object-fit: cover; border-radius: 20px; background: var(--ph); }
.cmmn .art .fig.fig-hero figcaption { width: 760px; max-width: 100%; margin: 10px auto 0; text-align: left; }
@media (max-width: 760px) {
	.cmmn .art .fig.fig-hero { width: 100%; margin-top: 22px; }
	.cmmn .art .fig.fig-hero img { aspect-ratio: 4 / 3; border-radius: 14px; }
}
.cmmn .art2 { padding-top: 28px; padding-bottom: 96px; }
.cmmn .art2 > .crumbs { width: 100%; max-width: 1112px; margin: 0 auto 18px; font-size: 13px; display: flex; justify-content: flex-start; text-align: left; gap: 8px; }
.cmmn .art-grid { width: 100%; display: grid; grid-template-columns: minmax(0, 720px) 320px; gap: 72px; justify-content: center; align-items: start; max-width: 1120px; margin: 0 auto; }
.cmmn .art-main { min-width: 0; }
.cmmn .art2 .art-cover { position: relative; margin: 0 0 28px; }
.cmmn .art2 .art-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 18px; background: var(--ph); }
.cmmn .art2 .art-cover figcaption { font-size: 13px; color: var(--muted); margin-top: 8px; }
.cmmn .date-chip { position: absolute; left: 18px; top: 18px; display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.94); color: var(--ink); border-radius: 12px; padding: 7px 12px 7px 8px; box-shadow: 0 4px 14px rgba(0,0,0,.12); font-family: var(--text); font-size: 12px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
.cmmn .date-chip b { display: grid; place-items: center; min-width: 32px; height: 32px; border-radius: 8px; background: var(--blue); color: #fff; font-family: var(--head); font-size: 16px; letter-spacing: 0; }
.cmmn .art2 .hd { width: auto; max-width: none; margin: 0; padding: 0; gap: 14px; display: flex; flex-direction: column; align-items: flex-start; }
.cmmn .art2 .kicker { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.cmmn .art2 .kicker a { color: var(--teal-d); text-decoration: none; }
.cmmn .art2 h1 { font-size: 38px; line-height: 1.2; letter-spacing: -.015em; margin: 0; text-wrap: balance; }
.cmmn .art2 .standfirst { font-size: 18px; line-height: 1.6; color: #4A5663; margin: 2px 0 0; max-width: none; }
.cmmn .art2 .byline { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 8px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cmmn .art2 .byline .meta { display: flex; gap: 12px; align-items: center; font-size: 14px; line-height: 1.35; color: var(--muted); }
.cmmn .art2 .byline .meta strong { color: var(--ink); font-weight: 600; }
.cmmn .art2 .byline .avatar { width: 40px; height: 40px; flex: none; }
.cmmn .art2 .body { width: auto; max-width: none; margin: 0; padding: 36px 0 0; }
.cmmn .art2 .entry-content > .art-photos, .cmmn .art2 .entry-content > .wp-block-image, .cmmn .art2 .entry-content > .wp-block-gallery, .cmmn .art2 .entry-content > figure.wp-block-gallery, .cmmn .art2 .entry-content > .gallery, .cmmn .art2 .entry-content > .wp-caption, .cmmn .art2 .entry-content > p:has(> img:only-child), .cmmn .art2 .entry-content > p:has(> a:only-child > img:only-child) { margin-left: 0 !important; margin-right: 0 !important; }
.cmmn .art2 .art-end { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 48px !important; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; font-weight: 600; color: var(--ink); }
.cmmn .art-side { display: flex; flex-direction: column; gap: 20px; }
.cmmn .side-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 24px; }
.cmmn .side-h { font-family: var(--head); font-size: 16px; font-weight: 600; color: var(--ink); margin: 0 0 14px; }
.cmmn .side-cta { background: var(--blue-d); border-color: var(--blue-d); color: #fff; display: flex; flex-direction: column; align-items: stretch; gap: 10px; position: relative; overflow: hidden; }
.cmmn .side-cta::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--teal), var(--gold)); }
.cmmn .side-cta .eyebrow { color: #8FE3D6; font-size: 12px; }
.cmmn .side-cta h2 { font-family: var(--head); font-size: 20px; line-height: 1.3; font-weight: 600; color: #fff; margin: 2px 0 0; }
.cmmn .side-cta p { font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.82); margin: 0 0 6px; }
.cmmn .side-cta .btn { justify-content: center; width: 100%; padding-top: 12px; padding-bottom: 12px; font-size: 14px; }
.cmmn .side-info { list-style: none; margin: 8px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(255,255,255,.16); display: grid; gap: 10px; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.85); }
.cmmn .side-info li { display: flex; gap: 10px; align-items: flex-start; }
.cmmn .side-info svg { flex: none; margin-top: 2px; color: #8FE3D6; }
.cmmn .side-posts { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.cmmn .side-posts a { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; align-items: center; padding: 8px; margin: 0 -8px; border-radius: 12px; text-decoration: none; color: var(--ink); transition: background .2s; }
.cmmn .side-posts a:hover { background: var(--bg); }
.cmmn .side-posts .sp-img, .cmmn .side-posts .ph { width: 64px; height: 64px; border-radius: 10px; overflow: hidden; background: var(--ph); }
.cmmn .side-posts .sp-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cmmn .side-posts b { font-size: 14px; line-height: 1.4; font-weight: 600; }
.cmmn .side-posts small { display: block; margin-top: 3px; font-size: 12px; color: var(--muted); }
.cmmn .side-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.cmmn .side-cats a { display: inline-flex; gap: 6px; align-items: center; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--line); font-size: 13px; font-weight: 600; color: var(--ink); text-decoration: none; transition: border-color .2s, color .2s; }
.cmmn .side-cats a:hover { border-color: var(--blue); color: var(--blue); }
.cmmn .side-cats small { color: var(--muted); font-weight: 500; }
.cmmn .side-all { margin-top: 16px; font-size: 14px; }
@media (min-width: 1101px) {
	.cmmn .art-side { position: sticky; top: calc(var(--hdr) + 24px); }
}
@media (max-width: 1100px) {
	.cmmn .art-grid { grid-template-columns: minmax(0, 1fr); gap: 56px; max-width: 720px; }
	.cmmn .art2 > .crumbs { max-width: 720px; }
	.cmmn .art-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cmmn .art-side .side-cta { grid-row: span 2; }
}
@media (max-width: 760px) {
	.cmmn .art2 { padding-top: 18px; padding-bottom: 64px; }
	.cmmn .art2 .art-cover { margin: 0 0 22px; }
	.cmmn .art2 .art-cover img { aspect-ratio: 4 / 3; border-radius: 14px; }
	.cmmn .date-chip { left: 12px; top: 12px; }
	.cmmn .art2 h1 { font-size: 27px; }
	.cmmn .art2 .standfirst { font-size: 17px; }
	.cmmn .art2 .byline { flex-direction: column; align-items: flex-start; }
	.cmmn .art2 .body { padding-top: 28px; }
	.cmmn .art-side { grid-template-columns: minmax(0, 1fr); }
	.cmmn .art-side .side-cta { grid-row: auto; }
	.cmmn .side-card { padding: 20px; }
}
.cmmn .shares { position: relative; flex-wrap: wrap; }
.cmmn .share { gap: 7px; cursor: pointer; font-family: inherit; }
.cmmn .share-main { background: var(--blue); border-color: var(--blue); color: #fff; font-weight: 600; }
.cmmn .share-main:hover { background: var(--blue-d); border-color: var(--blue-d); color: #fff; }
.cmmn .share.s-wa:hover { border-color: #1FA855; color: #128C3E; }
.cmmn .share-pop { position: absolute; z-index: 30; top: calc(100% + 8px); right: 0; width: 248px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 14px 40px rgba(23,33,43,.16); padding: 10px; display: grid; gap: 2px; }
.cmmn .share-pop[hidden] { display: none; }
.cmmn .share-pop p { margin: 4px 8px 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.cmmn .share-pop a { display: block; padding: 9px 10px; border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--ink) !important; text-decoration: none !important; }
.cmmn .share-pop a:hover { background: var(--bg); }
.cmmn .share-pop small { display: block; margin: 6px 8px 2px; padding-top: 8px; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.45; color: var(--muted); }
.cmmn .art2 .art-end .share-pop { right: auto; left: 0; }
@media (min-width: 761px) {
	.cmmn .art2 .art-end .share-pop { left: auto; right: 0; }
}
@media (max-width: 760px) {
	.cmmn .shares > .share-main { flex-basis: 100%; }
	.cmmn .share-pop { left: 0; right: 0; width: auto; }
}
.cmmn .share { white-space: nowrap; }
@media (max-width: 760px) {
	.cmmn .shares > .share { flex: 1 1 auto; min-width: 0; padding: 0 12px; }
}
@media (max-width: 760px) {
	.cmmn .shares > .share.share-main { flex: 1 1 100%; }
}
.cmmn .art2 .art-end { justify-content: flex-start; }
.cmmn .share-pop button { display: block; width: 100%; text-align: left; padding: 9px 10px; border: 0; border-radius: 8px; background: none; font: 500 14px var(--text); color: var(--ink); cursor: pointer; }
.cmmn .share-pop button:hover { background: var(--bg); }
.cmmn .share-pop { left: 0; right: auto; }
.cmmn .art2 .byline .shares, .cmmn .art2 .art-end .shares { width: auto; }
@media (min-width: 761px) {
	.cmmn .art2 .byline .share-pop { left: auto; right: 0; }
	.cmmn .art2 .art-end .share-pop { left: 0; right: auto; }
}
@media (max-width: 760px) {
	.cmmn .art2 .byline .shares { width: 100%; }
}
.cmmn .art2 .art-end .share-pop { top: auto; bottom: calc(100% + 8px); }
/* ---- fit into this theme ---- */
.cmmn { --bg: #F3F4F6; --pad: max(20px, calc((100% - 1280px) / 2 + 32px)) !important; --hdr: 24px; background: transparent; }
.cmmn .art2 { padding-top: 32px; }
.cmmn .entry-content ul, .cmmn .entry-content ol { list-style-position: outside; }
.cmmn .entry-content ul > li { list-style-type: disc; list-style-position: outside; }
.cmmn .entry-content ol > li { list-style-type: decimal; list-style-position: outside; }
.cmmn .entry-content a:hover { text-decoration-line: none; }
.cmmn .client-logo { display: block; width: 96px; height: auto; border-radius: 12px; margin-bottom: 1.5em; }
.cmmn .lb-pic { background-size: contain; background-repeat: no-repeat; background-position: center; }
.cmmn img { display: inline-block; }
.cmmn .art-photos img, .cmmn .art-cover img, .cmmn .media img { display: block; }
@media (max-width: 760px) { .cmmn { --pad: 16px !important; } }
/* Home: latest news */
.cmmn .home-news { padding-top: 64px; padding-bottom: 80px; }
.cmmn .home-news-hd { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 32px; }
.cmmn .home-news-hd .h2 { margin-top: 12px; }
@media (max-width: 760px) { .cmmn .home-news { padding-top: 48px; padding-bottom: 56px; } .cmmn .home-news-hd .btn { width: 100%; } }
/* Home sections in this theme */
.cmmn .why-sec { background: transparent; }
.cmmn .home-gallery { background: #fff; }
.cmmn .why-img img { scale: 1; }
/* Home "Our Commitment": keep the women-owned photo block inside its column on smaller laptops */
.lg\:w-\[600px\] { max-width: 100%; }
/* Home: credential strip under the slider, services cards */
.cmmn .home-trust { padding-top: 28px; padding-bottom: 56px; }
.cmmn .home-trust .trust { border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.cmmn .home-svc { padding-top: 72px; padding-bottom: 72px; }
.cmmn .home-svc .sec-head .lead { font-size: 17px; }
.cmmn .svc .ico svg { width: 26px; height: 26px; }
/* How We Deliver Excellence: 5 boxes, the last one spans the row */
.cmmn .home-how .g2 > .val:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 1101px) { .cmmn .home-how .why-l { position: sticky; top: 32px; } }
/* client logos in full colour */
.cmmn .logo-box img { filter: none; opacity: 1; }
/* About / Portfolio / Contact in this theme */
.cmmn .ceo-img { background: transparent !important; border-radius: 0; overflow: visible; box-shadow: none; border: 0; }
.cmmn .ceo-img img { object-fit: contain; object-position: center bottom; }
.cmmn .proj-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.cmmn .proj-logo { height: 28px; width: auto; max-width: 96px; object-fit: contain; }
.cmmn .form-card .form-h { margin-bottom: 20px; }
.cmmn .form-card input[type=text], .cmmn .form-card input[type=email], .cmmn .form-card input[type=tel], .cmmn .form-card select, .cmmn .form-card textarea { width: 100%; max-width: none !important; border: 1px solid var(--line2) !important; border-radius: 10px !important; padding: 10px 12px !important; font: inherit; background: #fff; }
.cmmn .form-card button[type=submit], .cmmn .form-card input[type=submit] { background: var(--blue) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 12px 24px !important; font-weight: 600 !important; cursor: pointer; }
.cmmn .map-wrap { padding-top: 32px; }
.cmmn .map iframe { width: 100%; height: 420px; border: 0; border-radius: 18px; display: block; }
.cmmn .contact-grid { padding-bottom: 32px; }
.cmmn .ceo-t blockquote p + p { margin-top: 1em; }
/* Slider text: full width inside the page gutter (fixes titles wrapping word by word on wide screens) */
.cmmn .s-in { max-width: none; width: 100%; }
/* "What we do": heading holds in place while the service cards scroll past (like How we work) */
@media (min-width: 1101px) {
	.cmmn .svc-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
	.cmmn .svc-split > .sec-head { flex-direction: column; align-items: flex-start; gap: 20px; margin: 0; position: sticky; top: 116px; }
	.cmmn .home-how .why-l { top: 116px; }
}
.cmmn .svc-grid .svc { min-height: 100%; }
.cmmn .ceo-img img { object-fit: contain; object-position: center bottom; width: 100%; max-height: 620px; border-radius: 0; background: transparent; }

/* ==========================================================================
   Animated slide photo cards (1.1.18): a tidy collage on the right that never
   covers the text, every photo toned to the slider's deep blue.
   ========================================================================== */
.cmmn .slider { --cards-w: min(470px, 34vw); }
.cmmn .slider .s-cards { top: 50%; right: var(--pad); transform: translateY(-50%); width: var(--cards-w); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.cmmn .slider .s-card { width: auto !important; margin: 0 !important; aspect-ratio: 1 / 1 !important; display: block !important; border-radius: 18px; background: #0E3F5F; }
.cmmn .slider .s-card img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; filter: saturate(.72) contrast(.96) brightness(.92); }
/* one tone with the slider: deep-blue wash + soft teal light */
.cmmn .slider .s-card::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(155deg, rgba(20,192,166,.16) 0%, rgba(14,63,95,.38) 55%, rgba(7,29,46,.62) 100%); mix-blend-mode: multiply; }
.cmmn .slider .s-card::after { z-index: 1; background: linear-gradient(180deg, rgba(7,29,46,0) 50%, rgba(7,29,46,.82)) !important; }
.cmmn .slider .s-card span { z-index: 2; }
/* Collage (1.1.20): playful but balanced — each photo keeps its own shape, slightly tilted and overlapping.
   Best file sizes: 1 = 800×1000 (4:5), 2 = 1200×900 (4:3), 3 = 1200×800 (3:2), 4 = 1000×1000 (1:1). */
.cmmn .slider .s-cards { display: block; height: auto; aspect-ratio: 470 / 540; }
.cmmn .slider .s-card { position: absolute !important; }
.cmmn .slider .s-card span { display: none; }
.cmmn .slider .s-card img { object-position: 50% 50%; }
.cmmn .slider .s-card.c0 { left: 0; top: 2%; width: 42% !important; aspect-ratio: 4 / 5 !important; rotate: -4deg; z-index: 2; }
.cmmn .slider .s-card.c1 { right: 0; top: 13%; width: 52% !important; aspect-ratio: 4 / 3 !important; rotate: 3deg; z-index: 1; }
.cmmn .slider .s-card.c2 { left: 9%; top: 56%; width: 50% !important; aspect-ratio: 3 / 2 !important; rotate: 2.5deg; z-index: 3; }
.cmmn .slider .s-card.c3 { right: 5%; top: 44%; width: 35% !important; aspect-ratio: 1 / 1 !important; rotate: -6deg; z-index: 4; }
.cmmn .slider .s-cards.n1 .s-card.c0 { left: 0; top: 14%; width: 100% !important; aspect-ratio: 4 / 3 !important; rotate: -1.5deg; }
.cmmn .slider .s-cards.n2 .s-card.c0 { top: 8%; width: 48% !important; }
.cmmn .slider .s-cards.n2 .s-card.c1 { top: 30%; width: 58% !important; }
.cmmn .slider .s-cards.n3 .s-card.c2 { left: 16%; }
.cmmn .slider .s-card::after { background: linear-gradient(180deg, rgba(7,29,46,0) 60%, rgba(7,29,46,.45)) !important; }
/* text column always stays clear of the cards */
.cmmn .slide.is-anim .s-in > * { max-width: min(600px, calc(100% - var(--cards-w) - 72px)) !important; }
.cmmn .slide.is-anim .s-h { font-size: clamp(38px, 3.4vw, 54px); }
@media (max-width: 1100px) {
	.cmmn .slider .s-cards { display: none; }
	.cmmn .slide.is-anim .s-in > * { max-width: 640px !important; }
}
@media (max-width: 760px) { .cmmn .slide.is-anim .s-h { font-size: 34px; } }
/* Services page in this theme */
.cmmn .jump { top: 68px; }
.admin-bar .cmmn .jump { top: 100px; }
.cmmn .si-text { font-size: 15px; line-height: 1.65; color: var(--sub); }
.cmmn .si-text p + p { margin-top: .8em; }
.cmmn .si-text ul { list-style: disc; padding-left: 1.2em; margin: .6em 0 0; }
.cmmn .sgroup { scroll-margin-top: 140px; }
/* Services: the group column stops just below the menu + shortcut bar, so its icon stays visible */
.cmmn .jump .chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.cmmn .jump .chips::-webkit-scrollbar { display: none; }
.cmmn .jump .chip { flex: none; }
.cmmn .sgroup .side { top: calc(var(--cmm-hdr, 68px) + var(--cmm-jump, 70px) + 28px); }
.cmmn .sgroup { scroll-margin-top: calc(var(--cmm-hdr, 68px) + var(--cmm-jump, 70px) + 12px); }
.admin-bar .cmmn .sgroup .side { top: calc(32px + var(--cmm-hdr, 68px) + var(--cmm-jump, 70px) + 28px); }
/* Portfolio: heading + filters hold on the left while projects and photos scroll (like Services) */
@media (min-width: 1101px) {
	.cmmn .port-split { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: start; }
	.cmmn .port-side { position: sticky; top: calc(var(--cmm-hdr, 68px) + 28px); display: flex; flex-direction: column; gap: 20px; }
	.admin-bar .cmmn .port-side { top: calc(32px + var(--cmm-hdr, 68px) + 28px); }
	.cmmn .port-side .sec-head { flex-direction: column; align-items: flex-start; margin: 0; }
	.cmmn .port-side .chips { flex-wrap: wrap; margin: 0; }
	.cmmn .port-main.g3, .cmmn .port-main .proj-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cmmn .port-main .gal.uniform { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.cmmn .port-split .proj-chips { margin-bottom: 0; }
@media (max-width: 1100px) { .cmmn .port-side { margin-bottom: 28px; } }

/* Slider photos (1.1.24): calm staggered mosaic — no tilt, no overlap, equal gaps,
   two columns offset in height. Best files: 1 = 800×1000 (4:5), 2 = 1200×900 (4:3),
   3 = 1000×1000, 4 = 1000×1000. */
.cmmn .slider { --cards-w: min(440px, 32vw); }
.cmmn .slider .s-cards { aspect-ratio: 1 / 1; top: 50%; transform: translateY(-54%); }
.cmmn .slider .s-card { rotate: 0deg !important; border-radius: 14px; border: 3px solid rgba(255,255,255,.92); box-shadow: 0 18px 40px rgba(3,16,28,.45); background: #0E3F5F; }
.cmmn .slider .s-card::after { display: none; }
.cmmn .slider .s-card::before { background: linear-gradient(160deg, rgba(20,192,166,.10) 0%, rgba(14,63,95,.22) 60%, rgba(7,29,46,.38) 100%); }
.cmmn .slider .s-card img { filter: saturate(.85) contrast(1.02) brightness(.98); }
.cmmn .slider .s-card.c0 { left: 0; right: auto; top: 0; width: 48% !important; aspect-ratio: 4 / 5 !important; z-index: 1; }
.cmmn .slider .s-card.c3 { left: 12%; right: auto; top: 64%; width: 36% !important; aspect-ratio: 1 / 1 !important; z-index: 1; }
.cmmn .slider .s-card.c1 { right: 0; left: auto; top: 11%; width: 48% !important; aspect-ratio: 4 / 3 !important; z-index: 1; }
.cmmn .slider .s-card.c2 { right: 0; left: auto; top: 51%; width: 48% !important; aspect-ratio: 1 / 1 !important; z-index: 1; }
.cmmn .slider .s-cards.n1 .s-card.c0 { top: 12%; width: 100% !important; aspect-ratio: 4 / 3 !important; }
.cmmn .slider .s-cards.n2 .s-card.c1 { top: 24%; }
.cmmn .slider .s-cards.n3 .s-card.c0 { top: 11%; aspect-ratio: 3 / 4 !important; }
@keyframes cardFloat { from { transform: translateY(0); } to { transform: translateY(-8px); } }
