.partners-cards-section{position:relative;padding:78px 0 88px;background:var(--m360-panel-light);color:var(--m360-on-light);overflow:hidden}.partners-cards-section:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background:radial-gradient(circle at 88% 10%,rgba(213,154,87,.15),transparent 28%),linear-gradient(135deg,transparent 0 48%,rgba(168,95,59,.04) 48% 48.2%,transparent 48.2% 100%)}.partners-cards-section .shell{position:relative;z-index:1}.partners-section-heading{max-width:720px;margin:0 auto 40px;text-align:center}.partners-kicker{margin:0 0 10px;color:var(--m360-copper);font:700 13px/1.6 "IBM Plex Sans Arabic",sans-serif;letter-spacing:.03em}.partners-section-heading h2{margin:0 0 10px;color:var(--m360-on-light);font:800 clamp(28px,4vw,44px)/1.45 "Noto Kufi Arabic",sans-serif}.partners-section-heading>p:last-child{max-width:570px;margin:0 auto;color:var(--m360-muted-on-light);font:400 15px/1.9 "IBM Plex Sans Arabic",sans-serif}.partners-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.partner-brand-card,.partner-join-card{position:relative;display:flex;min-height:300px;box-sizing:border-box;padding:24px;flex-direction:column;align-items:flex-start;text-align:right;border:1px solid var(--m360-border-light);border-radius:16px;background:var(--m360-surface-paper);box-shadow:0 12px 30px rgba(31,37,35,.06);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.partner-brand-card{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:1fr;column-gap:18px;align-items:center;direction:rtl;min-height:176px;padding:20px}.partner-brand-card .partner-brand-mark{grid-column:1;grid-row:1}.partner-brand-card .partner-card-copy{grid-column:2;grid-row:1;margin:0;padding-left:18px}.partner-brand-card .partner-card-arrow{left:18px;bottom:16px}.partner-brand-card:hover,.partner-brand-card:focus-within{transform:translateY(-5px);border-color:var(--m360-copper);box-shadow:0 18px 38px rgba(31,37,35,.11)}.partner-brand-mark{display:flex;width:92px;height:92px;box-sizing:border-box;padding:8px;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;background:var(--m360-panel-dark);color:var(--m360-on-dark);overflow:hidden}.partner-brand-mark span{font:800 25px/.95 Arial,sans-serif;letter-spacing:.12em}.partner-brand-mark b{margin-top:7px;color:var(--m360-orange);font:700 14px/1.5 "Noto Kufi Arabic",sans-serif}.partner-brand-mark img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;margin:auto;border-radius:4px}.partner-brand-mark--training{background:#f7f5f2}.partner-brand-mark--media{background:#f7f5f2}.partner-brand-mark--media img{height:100%}.partner-card-copy{margin-top:22px}.partner-card-type{margin:0 0 6px;color:var(--m360-copper);font:700 12px/1.6 "IBM Plex Sans Arabic",sans-serif}.partner-card-copy h3{margin:0 0 8px;color:var(--m360-on-light);font:800 19px/1.55 "Noto Kufi Arabic",sans-serif}.partner-card-promise{margin:0 0 6px;color:var(--m360-on-light);font:700 14px/1.65 "Noto Kufi Arabic",sans-serif}.partner-card-copy>p:last-child{max-width:25rem;margin:0;color:var(--m360-muted-on-light);font:400 14px/1.85 "IBM Plex Sans Arabic",sans-serif}.partner-card-arrow{position:absolute;left:22px;bottom:20px;color:var(--m360-copper);font:700 20px/1 Arial,sans-serif}.partner-join-card{justify-content:flex-start;background:var(--m360-panel-dark);color:var(--m360-on-dark);border-color:var(--m360-panel-dark);font-family:inherit;cursor:default}.partner-join-card .partner-card-type{color:var(--m360-orange)}.partner-join-card strong{margin:15px 0 10px;color:var(--m360-on-dark);font:800 22px/1.5 "Noto Kufi Arabic",sans-serif}.partner-join-card>span:not(.partner-join-icon):not(.partner-card-type){color:var(--m360-muted-on-dark);font:400 14px/1.9 "IBM Plex Sans Arabic",sans-serif}.partner-join-cta{display:inline-flex;align-items:center;width:max-content;margin-top:auto;padding:7px 14px;border:1px solid rgba(230,178,108,.82);border-radius:999px;background:rgba(230,178,108,.06);color:var(--m360-orange);font:700 13px/1.6 "IBM Plex Sans Arabic",sans-serif;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.partner-join-cta:hover,.partner-join-cta:focus-visible{border-color:var(--m360-orange);background:var(--m360-orange);color:var(--m360-panel-dark)}.partner-join-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(213,154,87,.65);border-radius:50%;color:var(--m360-orange);font:400 28px/1 Arial,sans-serif}.partner-modal[hidden]{display:none}.partner-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px}.partner-modal-backdrop{position:absolute;inset:0;background:rgba(20,24,22,.68);backdrop-filter:blur(4px)}.partner-modal-dialog{position:relative;z-index:1;width:min(640px,100%);max-height:min(720px,calc(100vh - 40px));box-sizing:border-box;overflow:auto;padding:32px;border:1px solid var(--m360-border-light);border-radius:18px;background:var(--m360-surface-paper);box-shadow:0 28px 80px rgba(0,0,0,.3)}.partner-modal-close{position:absolute;top:16px;left:18px;width:34px;height:34px;border:1px solid var(--m360-border-light);border-radius:50%;background:transparent;color:var(--m360-on-light);font-size:22px;line-height:1;cursor:pointer}.partner-modal-dialog h3{margin:0 0 8px;color:var(--m360-on-light);font:800 25px/1.5 "Noto Kufi Arabic",sans-serif}.partner-modal-intro{max-width:520px;margin:0 0 22px;color:var(--m360-muted-on-light);font:400 14px/1.85 "IBM Plex Sans Arabic",sans-serif}.partner-modal-form{display:grid;gap:12px}.partner-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.partner-modal-form input,.partner-modal-form select,.partner-modal-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--m360-border-light);border-radius:8px;background:#fff;color:var(--m360-on-light);font:400 14px/1.6 "IBM Plex Sans Arabic",sans-serif;outline:none}.partner-modal-form textarea{resize:vertical;min-height:106px}.partner-modal-form input:focus,.partner-modal-form select:focus,.partner-modal-form textarea:focus{border-color:var(--m360-copper);box-shadow:0 0 0 3px var(--m360-focus)}.partner-modal-form button{min-height:46px;padding:11px 22px;border:0;border-radius:999px;background:var(--m360-copper);color:#fff;font:700 14px/1.5 "Noto Kufi Arabic",sans-serif;cursor:pointer}.partner-modal-form button:hover,.partner-modal-form button:focus-visible{background:var(--m360-error)}.partner-form-status{margin:0;color:var(--m360-copper);font:600 13px/1.7 "IBM Plex Sans Arabic",sans-serif}.partner-form-status[hidden]{display:none}.partner-modal-open{overflow:hidden}.partner-success-dialog{position:relative;z-index:2;width:min(380px,100%);box-sizing:border-box;padding:34px 26px 28px;border:1px solid var(--m360-border-light);border-radius:18px;background:var(--m360-surface-paper);box-shadow:0 28px 80px rgba(0,0,0,.3);text-align:center}.partner-success-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 16px;border-radius:50%;background:var(--m360-copper);color:#fff;font:700 26px/1 Arial,sans-serif}.partner-success-dialog h3{margin:0 0 6px;color:var(--m360-on-light);font:800 24px/1.5 "Noto Kufi Arabic",sans-serif}.partner-success-dialog p{margin:0 0 22px;color:var(--m360-muted-on-light);font:400 15px/1.8 "IBM Plex Sans Arabic",sans-serif}.partner-success-dialog button{min-width:118px;padding:10px 20px;border:0;border-radius:999px;background:var(--m360-copper);color:#fff;font:700 14px/1.5 "Noto Kufi Arabic",sans-serif;cursor:pointer}.partner-success-dialog button:hover,.partner-success-dialog button:focus-visible{background:var(--m360-error)}
@media(max-width:850px){.partners-cards-section{padding:58px 0 68px}.partners-cards-grid{grid-template-columns:1fr;gap:12px}.partner-brand-card,.partner-join-card{min-height:0;padding:16px}.partner-brand-card{grid-template-columns:78px minmax(0,1fr);column-gap:14px;min-height:132px}.partner-brand-card .partner-card-copy{padding-left:12px}.partner-brand-mark{width:78px;height:78px}.partner-card-copy{margin-top:0;padding-bottom:14px}.partner-card-arrow{bottom:13px}.partner-join-card{min-height:220px}.partner-modal-dialog{padding:26px 20px 22px}.partner-modal-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.partner-brand-card,.partner-join-card{transition:none}}

/* Preview-only button edge refinement */
.fb-cta{border:1px solid var(--m360-copper)!important;color:var(--m360-copper)!important;background:transparent;box-shadow:inset 0 0 0 1px rgba(181,101,47,.12);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.fb-cta:hover,.fb-cta:focus-visible{border-color:var(--m360-orange)!important;background:var(--m360-copper)!important;color:#fff!important;transform:translateY(-1px)}
.partner-join-card{border:1px solid rgba(230,178,108,.82)!important;box-shadow:inset 0 0 0 1px rgba(230,178,108,.08),0 12px 30px rgba(31,37,35,.12)}.partner-join-cta{appearance:none}

/* Hero diagnostic button: thin white edge for contrast on the dark hero */
.hero-actions .btn-outline-light{border:1px solid rgba(255,255,255,.78)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}.hero-actions .btn-outline-light:hover,.hero-actions .btn-outline-light:focus-visible{border-color:#fff!important;background:rgba(255,255,255,.12)!important;color:#fff!important;transform:translateY(-1px)}

/* Hero CTA parity: same dimensions, different visual treatments */
.hero-actions .btn-brass,.hero-actions .btn-outline-light{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-inline-size:240px;min-block-size:48px;padding:12px 20px;font-size:14px;line-height:1.5;white-space:nowrap}
@media(max-width:767px){.hero-actions .btn-brass,.hero-actions .btn-outline-light{inline-size:100%;min-inline-size:0;min-block-size:50px}}
.partner-brand-card{text-decoration:none}.partner-brand-mark--fawi{background:#f7f5f2}.partner-brand-mark--fawi img{width:100%;height:100%;object-fit:contain}@media(min-width:851px){.partners-cards-grid>.partner-join-card:last-child{grid-column:2}}@media(max-width:850px){.partners-cards-grid>.partner-join-card:last-child{grid-column:auto}}

.partner-brand-card--talent{text-decoration:none}.partner-brand-mark--talent{background:#f7f5f2}.partner-brand-mark--talent img{width:100%;height:100%;object-fit:contain}


/* Talent Group card parity */
/* Keep Talent Group equal to the established brand-card metric rather than stretching with the adjacent CTA row. */
@media(min-width:851px){.partner-brand-card--talent{align-self:start;height:240px;min-height:240px}}
.partner-brand-card h3{min-height:32px}
@media(max-width:850px){.partner-brand-card h3{min-height:20px}}


/* Uniform desktop partner-card height */
@media(min-width:851px){.partners-cards-grid .partner-brand-card{height:243px;min-height:243px;align-self:start}}


/* Talent Group explicit light-surface hardening */
/* Independent opaque surface prevents a dark inherited or stale visual behind the official Talent Group logo. */
.partner-brand-card--talent .partner-brand-mark{background:#f7f5f2!important;background-image:none!important;isolation:isolate;overflow:hidden}.partner-brand-card--talent .partner-brand-mark img{display:block;background:#f7f5f2!important;background-image:none!important;filter:none!important;mix-blend-mode:normal!important;opacity:1!important}


/* Desktop partner-card content-fit system — 2026-09-21 */
/* Brand cards retain the three-column desktop pattern, but their shared 300 px row
   gives every title, promise, and supporting line a genuine reading margin. */
@media (min-width:851px){
  .partners-cards-grid{
    grid-auto-rows:300px;
    gap:20px;
  }
  .partners-cards-grid .partner-brand-card,
  .partners-cards-grid .partner-join-card{
    height:300px;
    min-height:300px;
    align-self:stretch;
  }
  .partners-cards-grid .partner-brand-card{
    grid-template-columns:78px minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
    column-gap:14px;
    padding:20px;
  }
  .partners-cards-grid .partner-brand-mark{
    width:78px;
    height:78px;
    padding:7px;
  }
  .partners-cards-grid .partner-card-copy{
    padding-left:8px;
    min-width:0;
  }
  .partners-cards-grid .partner-card-copy h3{
    min-height:0;
    margin-bottom:7px;
    font-size:18px;
    line-height:1.55;
  }
  .partners-cards-grid .partner-card-promise{
    margin-bottom:7px;
    font-size:14px;
    line-height:1.75;
  }
  .partners-cards-grid .partner-card-copy>p:last-child{
    max-width:none;
    font-size:14px;
    line-height:1.85;
  }
  .partners-cards-grid .partner-card-arrow{
    left:20px;
    bottom:18px;
  }
}
