/* Cielo sereno · Partners family. Loaded only on /partners and its public
   details; every selector remains inside the opted-in public main. */

/* Catalogue: four editorial groups, preserving their category order. */
.serene-page .serene-partners-index-hero > .container-canvas { padding-block:40px 56px; }
.serene-page .serene-partners-index-title { margin-top:24px; max-width:21ch; }
.serene-page .serene-partners-index-title > span { display:block; color:#2e31c8; }
.serene-page .serene-partners-catalogue { padding-block:0 var(--serene-space); background:#f7fafc; }
.serene-page .serene-partners-group { display:grid; gap:28px; padding-block:40px; border-top:1px solid #c9dae5; scroll-margin-top:112px; }
.serene-page .serene-partners-group-number { margin-bottom:16px; font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#2e31c8; }
.serene-page .serene-partners-group h2 { font-size:clamp(28px,2.6vw,36px); line-height:1.2; }
.serene-page .serene-partners-group-lede { max-width:48ch; margin-top:18px; font-size:15px; line-height:1.65; color:#344c5b; }
.serene-page .serene-partners-cards { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; min-width:0; }
.serene-page .serene-partner-index-card { display:flex; min-width:0; flex-direction:column; gap:22px; padding:24px; text-decoration:none; }
.serene-page .serene-partner-index-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.serene-page .serene-partner-index-logo { display:grid; place-items:center; width:56px; height:56px; flex:0 0 56px; border-radius:14px; background:#f7fafc; border:1px solid #e2ebf1; font-family:"Inter",sans-serif; font-size:22px; font-weight:600; color:#123449; }
.serene-page .serene-partner-index-logo img { display:block; width:36px; height:36px; object-fit:contain; }
.serene-page .serene-partner-index-position { font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.06em; color:#526b7b; }
.serene-page .serene-partner-index-card h3 { margin:0; font-family:"Manrope","Inter",system-ui,sans-serif; font-size:21px; font-weight:600; line-height:1.3; letter-spacing:-.02em; color:#101820; }
.serene-page .serene-partner-index-card-copy p { margin-top:12px; font-size:14px; line-height:1.65; color:#344c5b; overflow-wrap:anywhere; }
.serene-page .serene-partner-index-card-link { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:4px; font-size:13px; line-height:1.5; font-weight:500; color:#2e31c8; }
.serene-page .serene-partner-index-card-link svg { flex:0 0 auto; transition:transform 200ms ease; }

/* Identification precedes actions on narrow screens, with no duplicated DOM. */
.serene-page .serene-partner-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; }
.serene-page .serene-partner-copy { min-width:0; }
.serene-page .serene-partner-copy h1 { margin:0; overflow-wrap:anywhere; }
.serene-page .serene-partner-status { margin-bottom:16px; font-family:"Inter",system-ui,sans-serif; font-size:13px; font-weight:500; line-height:1.5; color:#344c5b; }
.serene-page .serene-partner-description { max-width:56ch; margin-top:24px; font-size:clamp(17px,1.4vw,19px); line-height:1.65; color:#344c5b; }
.serene-page .serene-partner-actions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; min-width:0; }
.serene-page .serene-partner-actions > a { display:inline-flex; justify-content:center; align-items:center; gap:8px; white-space:normal; overflow-wrap:anywhere; }
.serene-page .serene-partner-actions > a > [aria-hidden] { flex:0 0 auto; }
.serene-page .serene-partner-identity { grid-template-columns:56px minmax(0,1fr); justify-items:start; align-items:center; align-content:start; gap:18px 20px; width:100%; max-width:440px; min-height:0; padding:20px; }
.serene-page .serene-partner-identity-mark { display:grid; place-items:center; width:56px; height:56px; }
.serene-page .serene-partner-identity-mark > :is(img,svg) { display:block; width:48px; height:48px; object-fit:contain; }
.serene-page .serene-partner-identity[data-has-badge="false"] { grid-template-columns:56px minmax(0,1fr); }
.serene-page .serene-partner-identity[data-has-badge="false"] .serene-partner-directory { grid-column:2; grid-row:1; border-top:0; padding-top:0; }
.serene-page .serene-identity-badge { display:flex; align-items:center; justify-content:center; width:fit-content; max-width:100%; }
.serene-page .serene-identity-badge img { display:block; height:auto; object-fit:contain; max-width:min(160px,100%); max-height:72px; }
.serene-page .serene-identity-badge[data-badge-kind="caption"] img { max-height:32px; max-width:min(180px,100%); }
.serene-page .serene-identity-badge[data-badge-kind="n8n"] { padding:8px; border-radius:12px; background:#123449; }
.serene-page .serene-identity-badge[data-badge-kind="n8n"] img { max-width:72px; max-height:72px; }
.serene-page .serene-partner-directory { display:grid; grid-column:1 / -1; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; align-items:center; width:100%; min-width:0; padding-top:16px; border-top:1px solid #e2ebf1; font-size:12px; line-height:1.55; color:#2e31c8; text-align:left; text-decoration:none; }
.serene-page .serene-partner-directory-label { grid-column:1; font-size:10px; font-weight:500; letter-spacing:.05em; color:#526b7b; }
.serene-page .serene-partner-directory > span:nth-child(2) { grid-column:1; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.serene-page .serene-partner-directory-arrow { grid-column:2; grid-row:1 / 3; font-size:18px; }
.serene-page .serene-partner-directory:hover > span:nth-child(2) { text-decoration-thickness:2px; }

/* Facts and product names keep the existing wording and conditions. */
.serene-page .serene-partner-facts { background:#f7fafc; }
.serene-page .serene-partner-facts-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; border-block:1px solid #c9dae5; }
.serene-page .serene-partner-fact { min-width:0; padding:24px 0; }
.serene-page .serene-partner-fact + .serene-partner-fact { border-top:1px solid #c9dae5; }
.serene-page .serene-partner-fact-value { font-family:"Manrope","Inter",sans-serif; font-size:clamp(28px,3vw,40px); font-weight:550; letter-spacing:-.025em; line-height:1.15; color:#123449; overflow-wrap:anywhere; }
.serene-page .serene-partner-fact-value[data-long-value="true"] { font-size:clamp(26px,2.5vw,34px); }
.serene-page .serene-partner-fact-label { margin-top:10px; max-width:34ch; font-size:13px; line-height:1.6; color:#344c5b; }
.serene-page .serene-partner-facts[data-fact-kind="products"] .serene-partner-fact-value { font-size:clamp(27px,2.7vw,36px); }

/* The customer row describes the platform's users, not TOF clients. */
.serene-page .serene-partner-customers { padding-block:40px; background:#f7fafc; }
.serene-page .serene-partner-customers > div > p { text-align:center; }
.serene-page .serene-partner-customer-logos { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:28px 36px; margin-top:30px; }
.serene-page .serene-partner-customer-logos > div { display:flex; min-width:0; max-width:100%; height:56px; align-items:center; justify-content:center; }
.serene-page .serene-partner-customer-logos img { max-width:100%; object-fit:contain; }

/* Editorial rhythm: distinct benefits, unabridged prose, quiet static cards. */
.serene-page .serene-partner-editorial { display:grid; gap:28px; }
.serene-page .serene-partner-eyebrow { margin-bottom:16px; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:500; line-height:1.6; letter-spacing:.1em; text-transform:uppercase; color:#526b7b; }
.serene-page .serene-partner-section-heading { min-width:0; }
.serene-page .serene-partner-section-heading h2 { max-width:23ch; font-size:clamp(30px,3.4vw,44px); line-height:1.15; }
.serene-page .serene-partner-prose { min-width:0; max-width:68ch; }
.serene-page .serene-partner-prose p { font-size:17px; line-height:1.75; color:#344c5b; text-align:left; hyphens:manual; overflow-wrap:anywhere; }
.serene-page .serene-partner-prose p:first-child { color:#123449; }
.serene-page .serene-partner-prose p + p { margin-top:24px; }
.serene-page .serene-partner-applications { background:#eaf4fa; }
.serene-page .serene-partner-section-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:32px; }
.serene-page .serene-partner-section-lede { max-width:40ch; font-size:15px; line-height:1.65; color:#344c5b; }
.serene-page .serene-partner-use-cases { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.serene-page .serene-partner-use-case { display:grid; grid-template-columns:28px minmax(0,1fr); align-content:start; gap:18px; padding:24px; border:1px solid #c9dae5; border-radius:18px; background:#fff; }
.serene-page .serene-partner-use-case-number { padding-top:4px; font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.04em; color:#526b7b; }
.serene-page .serene-partner-use-case h3 { font-family:"Manrope","Inter",sans-serif; font-size:22px; font-weight:600; line-height:1.25; letter-spacing:-.025em; color:#101820; overflow-wrap:anywhere; }
.serene-page .serene-partner-use-case p { margin-top:14px; font-size:15px; line-height:1.75; color:#344c5b; overflow-wrap:anywhere; }
.serene-page .serene-partner-benefits { background:#f7fafc; }
.serene-page .serene-partner-benefits-panel { display:grid; gap:28px; padding:28px 24px; border:1px solid #c9dae5; border-radius:24px; background:linear-gradient(140deg,#eaf4fa 0%,#f0f7fb 65%,#fff 100%); }
.serene-page .serene-partner-benefits .serene-identity-badge { margin-top:28px; }
.serene-page .serene-partner-benefits .serene-identity-badge img { max-width:min(220px,100%); max-height:88px; }
.serene-page .serene-partner-benefits .serene-identity-badge[data-badge-kind="caption"] img { max-width:min(260px,100%); max-height:32px; }
.serene-page .serene-partner-benefits .serene-identity-badge[data-badge-kind="n8n"] img { max-width:88px; max-height:88px; }
.serene-page .serene-partner-cases { background:#f7fafc; }
.serene-page .serene-partner-cases-link { font-size:14px; line-height:1.5; color:#2e31c8; text-decoration:underline; text-underline-offset:4px; }
.serene-page .serene-partner-cases-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.serene-page .serene-partner-cases-grid[data-case-count="1"] { max-width:600px; }

@media(min-width:640px) {
  .serene-page .serene-partners-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .serene-page .serene-partners-group { padding-block:48px; gap:32px; }
  .serene-page .serene-partner-facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .serene-page .serene-partner-fact { padding:28px 24px; }
  .serene-page .serene-partner-fact:nth-child(2) { border-top:0; }
  .serene-page .serene-partner-fact:nth-child(even) { border-left:1px solid #c9dae5; }
  .serene-page .serene-partner-use-cases { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .serene-page .serene-partner-use-case[data-featured="true"] { grid-column:1 / -1; }
  .serene-page .serene-partner-use-case[data-featured="true"] p { max-width:80ch; }
  .serene-page .serene-partner-cases-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .serene-page .serene-partner-cases-grid[data-case-count="1"] { grid-template-columns:minmax(0,1fr); }
  .serene-page .serene-partner-benefits-panel { padding:40px 32px; }
}
@media(min-width:1024px) {
  .serene-page .serene-partners-index-hero > .container-canvas { padding-bottom:72px; }
  .serene-page .serene-partners-group { grid-template-columns:260px minmax(0,1fr); gap:48px; padding-block:56px; }
  .serene-page .serene-partners-group-lede { max-width:32ch; }
  .serene-page .serene-partner-grid { grid-template-columns:minmax(0,1fr) 300px; grid-template-rows:auto 1fr; gap:28px 64px; }
  .serene-page .serene-partner-copy { grid-column:1; grid-row:1; }
  .serene-page .serene-partner-actions { grid-column:1; grid-row:2; }
  .serene-page .serene-partner-identity { grid-column:2; grid-row:1 / 3; grid-template-columns:minmax(0,1fr); justify-items:center; gap:24px; max-width:300px; min-height:240px; padding:28px; }
  .serene-page .serene-partner-identity-mark { width:88px; height:88px; }
  .serene-page .serene-partner-identity-mark > :is(img,svg) { width:88px; height:88px; }
  .serene-page .serene-partner-identity[data-has-badge="false"] { grid-template-columns:minmax(0,1fr); }
  .serene-page .serene-partner-identity[data-has-badge="false"] .serene-partner-directory { grid-column:1; grid-row:auto; border-top:1px solid #e2ebf1; padding-top:16px; }
  .serene-page .serene-partner-identity .serene-identity-badge img { max-height:88px; max-width:min(220px,100%); }
  .serene-page .serene-partner-identity .serene-identity-badge[data-badge-kind="caption"] img { max-height:32px; max-width:min(240px,100%); }
  .serene-page .serene-partner-identity .serene-identity-badge[data-badge-kind="n8n"] img { max-width:100px; max-height:100px; }
  .serene-page .serene-partner-facts-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .serene-page .serene-partner-fact + .serene-partner-fact { border-top:0; border-left:1px solid #c9dae5; }
  .serene-page .serene-partner-customers { padding-block:48px; }
  .serene-page .serene-partner-editorial { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:64px; }
  .serene-page .serene-partner-section-top { margin-bottom:40px; }
  .serene-page .serene-partner-use-case { padding:32px; gap:22px; }
  .serene-page .serene-partner-benefits-panel { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:48px; padding:48px; }
  .serene-page .serene-partner-cases-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .serene-page .serene-partner-cases-grid[data-case-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:359px) {
  .serene-page .serene-partner-identity { padding:16px; gap:16px; grid-template-columns:48px minmax(0,1fr); }
  .serene-page .serene-partner-identity-mark { width:48px; height:48px; }
  .serene-page .serene-partner-identity-mark > :is(img,svg) { width:44px; height:44px; }
  .serene-page .serene-partner-use-case { padding:20px; grid-template-columns:minmax(0,1fr); gap:10px; }
  .serene-page .serene-partner-benefits-panel { padding:24px 20px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .serene-page .serene-partner-index-card:hover .serene-partner-index-card-link svg { transform:translateX(3px); }
}
@media(prefers-reduced-motion:reduce) {
  .serene-page .serene-partner-index-card-link svg { transition:none; transform:none; }
}

