/* =========================================================
   PARTNER WITH US
   partner-with-us.css

   IMPORTANT
   ---------------------------------------------------------
   Page-specific styles ONLY.
   Scoped completely to #partner-page.

   Does NOT modify:
   - topbar
   - header
   - navigation
   - footer
   - shared .cta
   - shared .container
   - shared .btn
   ========================================================= */


/* =========================================================
   PAGE VARIABLES
   ========================================================= */

#partner-page{

  --partner-navy:#102f45;
  --partner-blue:#1f506c;
  --partner-orange:#d8893b;
  --partner-gold:#e8b76b;

  --partner-cream:#f8f4ed;
  --partner-soft:#f2f6f4;

  --partner-text:#263746;
  --partner-muted:#6d7a83;

  --partner-white:#ffffff;

  --partner-border:rgba(16,47,69,.10);

  --partner-shadow:
    0 18px 45px rgba(16,47,69,.09);

  --partner-shadow-small:
    0 8px 25px rgba(16,47,69,.06);

  width:100%;
  max-width:100%;

  margin:0;
  padding:0;

  background:#fff;

  overflow:hidden;

}


/* =========================================================
   BOX SIZING
   ========================================================= */

#partner-page *,
#partner-page *::before,
#partner-page *::after{

  box-sizing:border-box;

}


/* =========================================================
   HERO
   ========================================================= */

#partner-page .partner-hero{

  width:100%;

  margin:0;
  padding:78px 0 72px;

  background:
    radial-gradient(
      circle at 8% 20%,
      rgba(232,183,107,.16),
      transparent 30%
    ),
    radial-gradient(
      circle at 90% 75%,
      rgba(31,80,108,.08),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #f8f4ed 0%,
      #ffffff 65%,
      #f3f7f6 100%
    );

}


#partner-page .partner-hero-inner{

  width:min(1180px,calc(100% - 40px));

  margin:0 auto;

  display:grid;

  grid-template-columns:
    minmax(0,1.05fr)
    minmax(360px,.95fr);

  gap:55px;

  align-items:center;

}


/* =========================================================
   HERO CONTENT
   ========================================================= */

#partner-page .partner-hero-content{

  width:100%;
  max-width:720px;

  margin:0;
  padding:0;

}


#partner-page .partner-eyebrow{

  display:inline-flex;

  align-items:center;

  gap:9px;

  margin:0 0 15px;

  color:var(--partner-orange);

  font-size:11px;

  font-weight:700;

  letter-spacing:.13em;

  text-transform:uppercase;

}


#partner-page .partner-eyebrow i{

  font-size:13px;

}


#partner-page .partner-hero h1{

  margin:0;

  color:var(--partner-navy);

  font-family:"Playfair Display",serif;

  font-size:clamp(40px,5vw,60px);

  font-weight:700;

  line-height:1.08;

  letter-spacing:-.02em;

}


#partner-page .partner-hero h1 span{

  display:inline;

  color:var(--partner-blue);

}


#partner-page .partner-hero p{

  max-width:690px;

  margin:20px 0 0;

  color:var(--partner-muted);

  font-size:15px;

  line-height:1.85;

}


#partner-page .partner-hero-actions{

  display:flex;

  flex-wrap:wrap;

  gap:11px;

  margin-top:27px;

}


/*
   Shared .btn classes from styles.css are intentionally used.
   These only add layout around them.
*/

#partner-page .partner-hero-actions .btn{

  display:inline-flex;

  align-items:center;
  justify-content:center;

  gap:8px;

}


/* =========================================================
   HERO IMAGE
   ========================================================= */

#partner-page .partner-hero-visual{

  position:relative;

  width:100%;

  max-width:500px;

  margin-left:auto;

}


#partner-page .partner-hero-image{

  position:relative;

  width:100%;

  height:390px;

  overflow:hidden;

  border-radius:20px;

  background:var(--partner-soft);

  box-shadow:var(--partner-shadow);

}


#partner-page .partner-hero-image::after{

  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(16,47,69,.03),
      rgba(16,47,69,.22)
    );

  pointer-events:none;

}


#partner-page .partner-hero-image img{

  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

}


/* =========================================================
   HERO BADGE
   ========================================================= */

#partner-page .partner-hero-badge{

  position:absolute;

  left:-24px;
  bottom:24px;

  display:flex;

  align-items:center;

  gap:12px;

  min-width:190px;

  padding:14px 17px;

  border-radius:12px;

  background:#fff;

  border:1px solid var(--partner-border);

  box-shadow:
    0 15px 35px rgba(16,47,69,.14);

}


#partner-page .partner-hero-badge > i{

  display:flex;

  align-items:center;
  justify-content:center;

  width:43px;
  height:43px;

  flex:0 0 43px;

  border-radius:50%;

  background:var(--partner-cream);

  color:var(--partner-orange);

  font-size:17px;

}


#partner-page .partner-hero-badge div{

  display:flex;

  flex-direction:column;

  gap:2px;

}


#partner-page .partner-hero-badge strong{

  color:var(--partner-navy);

  font-size:13px;

  line-height:1.2;

}


#partner-page .partner-hero-badge span{

  color:var(--partner-muted);

  font-size:10px;

  line-height:1.3;

}


/* =========================================================
   COMMON SECTION
   ========================================================= */

#partner-page .partner-section{

  width:100%;

  margin:0;

  padding:82px 0;

  background:#fff;

}


#partner-page .partner-section-soft{

  background:var(--partner-soft);

}


/* =========================================================
   TWO COLUMN
   ========================================================= */

#partner-page .partner-two-col{

  display:grid;

  grid-template-columns:
    minmax(0,.95fr)
    minmax(0,1.05fr);

  gap:55px;

  align-items:start;

}


/* =========================================================
   SECTION LABEL
   ========================================================= */

#partner-page .partner-label{

  display:block;

  margin:0 0 10px;

  color:var(--partner-orange);

  font-size:11px;

  font-weight:700;

  letter-spacing:.13em;

  line-height:1.4;

  text-transform:uppercase;

}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

#partner-page .partner-section-heading{

  max-width:520px;

}


#partner-page .partner-section-heading h2,
#partner-page .partner-heading-center h2,
#partner-page .partner-contribution-layout h2,
#partner-page .partner-principles-heading h2,
#partner-page .partner-final-inner h2{

  margin:0;

  color:var(--partner-navy);

  font-family:"Playfair Display",serif;

  font-size:clamp(31px,4vw,45px);

  font-weight:700;

  line-height:1.15;

  letter-spacing:-.015em;

}


#partner-page .partner-section-heading h2 span,
#partner-page .partner-heading-center h2 span,
#partner-page .partner-contribution-layout h2 span,
#partner-page .partner-principles-heading h2 span,
#partner-page .partner-final-inner h2 span{

  color:var(--partner-blue);

}


/* =========================================================
   INTRO COPY
   ========================================================= */

#partner-page .partner-intro-copy{

  max-width:700px;

}


#partner-page .partner-intro-copy p{

  margin:0;

  color:var(--partner-muted);

  font-size:14px;

  line-height:1.85;

}


#partner-page .partner-intro-copy p + p{

  margin-top:14px;

}


/* =========================================================
   CENTERED HEADING
   ========================================================= */

#partner-page .partner-heading-center{

  width:100%;

  max-width:760px;

  margin:0 auto 42px;

  text-align:center;

}


#partner-page .partner-heading-center .partner-label{

  margin-bottom:9px;

}


#partner-page .partner-heading-center p{

  max-width:700px;

  margin:14px auto 0;

  color:var(--partner-muted);

  font-size:14px;

  line-height:1.8;

}


/* =========================================================
   PARTNERSHIP PATHWAYS
   ========================================================= */

#partner-page .partner-pathways{

  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:18px;

}


/* =========================================================
   PATHWAY CARD
   ========================================================= */

#partner-page .partner-pathway-card{

  position:relative;

  display:flex;

  flex-direction:column;

  min-width:0;

  min-height:310px;

  padding:25px;

  border:1px solid var(--partner-border);

  border-radius:16px;

  background:#fff;

  box-shadow:var(--partner-shadow-small);

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;

}


#partner-page .partner-pathway-card:hover{

  transform:translateY(-6px);

  border-color:
    rgba(216,137,59,.28);

  box-shadow:
    0 18px 38px rgba(16,47,69,.11);

}


#partner-page .partner-card-icon{

  width:51px;
  height:51px;

  display:flex;

  align-items:center;
  justify-content:center;

  border-radius:12px;

  font-size:19px;

}


#partner-page .partner-icon-blue{

  background:#eaf3f7;

  color:var(--partner-blue);

}


#partner-page .partner-icon-orange{

  background:#fbefe4;

  color:var(--partner-orange);

}


#partner-page .partner-icon-green{

  background:#edf6ee;

  color:#4d9860;

}


#partner-page .partner-icon-purple{

  background:#f2edf8;

  color:#79569d;

}


#partner-page .partner-pathway-card h3{

  margin:19px 0 9px;

  color:var(--partner-navy);

  font-family:"Playfair Display",serif;

  font-size:20px;

  line-height:1.28;

}


#partner-page .partner-pathway-card p{

  margin:0;

  color:var(--partner-muted);

  font-size:12px;

  line-height:1.72;

}


#partner-page .partner-pathway-card > a{

  display:inline-flex;

  align-items:center;

  gap:7px;

  margin-top:auto;

  padding-top:20px;

  color:var(--partner-orange);

  font-size:10px;

  font-weight:700;

  line-height:1.4;

  text-decoration:none;

  transition:
    gap .25s ease,
    color .25s ease;

}


#partner-page .partner-pathway-card:hover > a{

  gap:11px;

  color:var(--partner-navy);

}


/* =========================================================
   FOCUS GRID
   ========================================================= */

#partner-page .partner-focus-grid{

  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:17px;

}


/* =========================================================
   FOCUS CARD
   ========================================================= */

#partner-page .partner-focus-card{

  position:relative;

  display:grid;

  grid-template-columns:
    auto auto minmax(0,1fr) auto;

  align-items:start;

  gap:13px;

  min-width:0;

  padding:22px;

  border:1px solid var(--partner-border);

  border-radius:15px;

  background:#fff;

  color:inherit;

  text-decoration:none;

  box-shadow:
    0 7px 23px rgba(16,47,69,.045);

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;

}


#partner-page .partner-focus-card:hover{

  transform:translateY(-5px);

  border-color:
    rgba(216,137,59,.27);

  box-shadow:
    0 16px 32px rgba(16,47,69,.09);

}


#partner-page .partner-focus-number{

  padding-top:3px;

  color:var(--partner-gold);

  font-size:10px;

  font-weight:700;

  letter-spacing:.04em;

}


#partner-page .partner-focus-icon{

  width:42px;
  height:42px;

  display:flex;

  align-items:center;
  justify-content:center;

  border-radius:10px;

  background:var(--partner-cream);

  color:var(--partner-orange);

  font-size:16px;

}


#partner-page .partner-focus-card h3{

  margin:1px 0 5px;

  color:var(--partner-navy);

  font-size:14px;

  font-weight:700;

  line-height:1.35;

}


#partner-page .partner-focus-card p{

  margin:0;

  color:var(--partner-muted);

  font-size:11px;

  line-height:1.6;

}


#partner-page .partner-focus-arrow{

  align-self:center;

  color:var(--partner-orange);

  font-size:11px;

  transition:
    transform .25s ease;

}


#partner-page .partner-focus-card:hover
.partner-focus-arrow{

  transform:translateX(4px);

}


/* =========================================================
   CONTRIBUTION SECTION
   ========================================================= */

#partner-page .partner-contribution-layout{

  align-items:center;

}


#partner-page .partner-contribution-layout > div:first-child{

  max-width:500px;

}


#partner-page .partner-lead{

  max-width:590px;

  margin:16px 0 0;

  color:var(--partner-muted);

  font-size:14px;

  line-height:1.8;

}


#partner-page .partner-text-link{

  display:inline-flex;

  align-items:center;

  gap:8px;

  margin-top:22px;

  color:var(--partner-orange);

  font-size:12px;

  font-weight:700;

  text-decoration:none;

  transition:
    gap .25s ease,
    color .25s ease;

}


#partner-page .partner-text-link:hover{

  gap:12px;

  color:var(--partner-navy);

}


/* =========================================================
   CONTRIBUTION ITEMS
   ========================================================= */

#partner-page .partner-contribution-grid{

  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:13px;

}


#partner-page .partner-contribution-item{

  display:flex;

  align-items:flex-start;

  gap:12px;

  padding:18px;

  border:1px solid var(--partner-border);

  border-radius:12px;

  background:#fff;

}


#partner-page .partner-contribution-item > i{

  flex:0 0 auto;

  display:flex;

  align-items:center;
  justify-content:center;

  width:37px;
  height:37px;

  border-radius:9px;

  background:var(--partner-cream);

  color:var(--partner-orange);

  font-size:14px;

}


#partner-page .partner-contribution-item h3{

  margin:0 0 5px;

  color:var(--partner-navy);

  font-size:13px;

  line-height:1.35;

}


#partner-page .partner-contribution-item p{

  margin:0;

  color:var(--partner-muted);

  font-size:10px;

  line-height:1.6;

}


/* =========================================================
   PROCESS
   ========================================================= */

#partner-page .partner-process{

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    32px
    minmax(0,1fr)
    32px
    minmax(0,1fr)
    32px
    minmax(0,1fr);

  align-items:start;

  gap:0;

}


#partner-page .partner-process-item{

  position:relative;

  min-width:0;

  text-align:center;

}


#partner-page .partner-process-number{

  position:absolute;

  top:-4px;
  right:calc(50% - 55px);

  color:var(--partner-gold);

  font-size:10px;

  font-weight:700;

}


#partner-page .partner-process-icon{

  width:65px;
  height:65px;

  display:flex;

  align-items:center;
  justify-content:center;

  margin:0 auto;

  border-radius:50%;

  background:var(--partner-cream);

  color:var(--partner-orange);

  font-size:21px;

}


#partner-page .partner-process-item h3{

  margin:17px 0 7px;

  color:var(--partner-navy);

  font-family:"Playfair Display",serif;

  font-size:20px;

  line-height:1.25;

}


#partner-page .partner-process-item p{

  max-width:210px;

  margin:0 auto;

  color:var(--partner-muted);

  font-size:11px;

  line-height:1.65;

}


#partner-page .partner-process-line{

  width:100%;

  height:1px;

  margin-top:32px;

  background:
    rgba(216,137,59,.30);

}


/* =========================================================
   PRINCIPLES
   ========================================================= */

#partner-page .partner-principles{

  background:var(--partner-cream);

}


#partner-page .partner-principles-box{

  display:grid;

  grid-template-columns:
    .8fr 1.2fr;

  gap:55px;

  align-items:center;

  padding:42px;

  border-radius:20px;

  background:
    linear-gradient(
      145deg,
      var(--partner-navy),
      var(--partner-blue)
    );

  box-shadow:var(--partner-shadow);

}


#partner-page .partner-principles-heading{

  max-width:450px;

}


#partner-page .partner-principles-heading h2{

  color:#fff;

}


#partner-page .partner-principles-heading h2 span{

  color:var(--partner-gold);

}


#partner-page .partner-principles-list{

  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:15px;

}


#partner-page .partner-principle{

  display:flex;

  align-items:flex-start;

  gap:12px;

  padding:17px;

  border:1px solid rgba(255,255,255,.09);

  border-radius:12px;

  background:rgba(255,255,255,.055);

}


#partner-page .partner-principle > i{

  flex:0 0 auto;

  width:35px;
  height:35px;

  display:flex;

  align-items:center;
  justify-content:center;

  border-radius:9px;

  background:rgba(232,183,107,.12);

  color:var(--partner-gold);

  font-size:13px;

}


#partner-page .partner-principle h3{

  margin:0 0 4px;

  color:#fff;

  font-size:13px;

  line-height:1.35;

}


#partner-page .partner-principle p{

  margin:0;

  color:rgba(255,255,255,.66);

  font-size:10px;

  line-height:1.6;

}


/* =========================================================
   FINAL MESSAGE
   ========================================================= */

#partner-page .partner-final-message{

  width:100%;

  padding:72px 0;

  background:#fff;

}


#partner-page .partner-final-inner{

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:40px;

  padding:35px 40px;

  border:1px solid var(--partner-border);

  border-radius:18px;

  background:
    linear-gradient(
      135deg,
      #fff,
      var(--partner-cream)
    );

  box-shadow:
    0 10px 30px rgba(16,47,69,.055);

}


#partner-page .partner-final-inner > div{

  max-width:720px;

}


#partner-page .partner-final-inner h2{

  font-size:clamp(29px,3.5vw,40px);

}


#partner-page .partner-final-inner p{

  max-width:680px;

  margin:13px 0 0;

  color:var(--partner-muted);

  font-size:13px;

  line-height:1.8;

}


#partner-page .partner-final-inner > .btn{

  flex:0 0 auto;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:8px;

}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1050px){

  #partner-page .partner-hero-inner{

    grid-template-columns:
      minmax(0,1fr)
      minmax(320px,.85fr);

    gap:35px;

  }


  #partner-page .partner-pathways{

    grid-template-columns:
      repeat(2,minmax(0,1fr));

  }


  #partner-page .partner-focus-grid{

    grid-template-columns:
      repeat(2,minmax(0,1fr));

  }


  #partner-page .partner-principles-box{

    gap:35px;

  }

}


/* =========================================================
   TABLET / SMALL LAPTOP
   ========================================================= */

@media(max-width:850px){

  #partner-page .partner-hero{

    padding:70px 0 60px;

  }


  #partner-page .partner-hero-inner{

    grid-template-columns:1fr;

    gap:35px;

  }


  #partner-page .partner-hero-content{

    max-width:760px;

  }


  #partner-page .partner-hero-visual{

    max-width:650px;

    margin:0;

  }


  #partner-page .partner-two-col{

    grid-template-columns:1fr;

    gap:30px;

  }


  #partner-page .partner-section-heading{

    max-width:700px;

  }


  #partner-page .partner-process{

    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:35px 25px;

  }


  #partner-page .partner-process-line{

    display:none;

  }


  #partner-page .partner-principles-box{

    grid-template-columns:1fr;

    gap:30px;

  }


  #partner-page .partner-contact-box{

    grid-template-columns:1fr;

  }


  #partner-page .partner-final-inner{

    align-items:flex-start;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:650px){

  #partner-page .partner-hero{

    padding:60px 0 50px;

  }


  #partner-page .partner-hero-inner{

    width:calc(100% - 28px);

  }


  #partner-page .partner-hero h1{

    font-size:39px;

    line-height:1.1;

  }


  #partner-page .partner-hero p{

    font-size:13px;

    line-height:1.8;

  }


  #partner-page .partner-hero-actions{

    flex-direction:column;

    align-items:stretch;

  }


  #partner-page .partner-hero-actions .btn{

    width:100%;

  }


  #partner-page .partner-hero-image{

    height:300px;

    border-radius:16px;

  }


  #partner-page .partner-hero-badge{

    left:14px;

    bottom:14px;

  }


  #partner-page .partner-section{

    padding:65px 0;

  }


  #partner-page .partner-container{

    width:calc(100% - 28px);

  }


  #partner-page .partner-section-heading h2,
  #partner-page .partner-heading-center h2,
  #partner-page .partner-contribution-layout h2,
  #partner-page .partner-principles-heading h2{

    font-size:31px;

  }


  #partner-page .partner-heading-center{

    margin-bottom:32px;

  }


  #partner-page .partner-heading-center p{

    font-size:13px;

  }


  #partner-page .partner-pathways{

    grid-template-columns:1fr;

  }


  #partner-page .partner-pathway-card{

    min-height:auto;

  }


  #partner-page .partner-focus-grid{

    grid-template-columns:1fr;

  }


  #partner-page .partner-focus-card{

    grid-template-columns:
      auto auto minmax(0,1fr) auto;

    padding:19px;

  }


  #partner-page .partner-contribution-grid{

    grid-template-columns:1fr;

  }


  #partner-page .partner-process{

    grid-template-columns:1fr;

    gap:30px;

  }


  #partner-page .partner-process-number{

    position:static;

    margin-bottom:7px;

  }


  #partner-page .partner-process-item p{

    max-width:290px;

  }


  #partner-page .partner-principles-box{

    padding:28px 22px;

    border-radius:16px;

  }


  #partner-page .partner-principles-list{

    grid-template-columns:1fr;

  }


  #partner-page .partner-final-message{

    padding:55px 0;

  }


  #partner-page .partner-final-inner{

    flex-direction:column;

    align-items:flex-start;

    padding:28px 22px;

    border-radius:16px;

  }


  #partner-page .partner-final-inner h2{

    font-size:30px;

  }


  #partner-page .partner-final-inner > .btn{

    width:100%;

  }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:480px){

  #partner-page .partner-hero{

    padding:52px 0 45px;

  }


  #partner-page .partner-hero-inner{

    width:calc(100% - 24px);

  }


  #partner-page .partner-hero h1{

    font-size:35px;

  }


  #partner-page .partner-hero-text{

    font-size:13px;

  }


  #partner-page .partner-eyebrow{

    font-size:10px;

  }


  #partner-page .partner-hero-image{

    height:260px;

  }


  #partner-page .partner-hero-badge{

    min-width:175px;

    padding:11px 13px;

  }


  #partner-page .partner-hero-badge > i{

    width:38px;
    height:38px;

    flex-basis:38px;

    font-size:15px;

  }


  #partner-page .partner-section{

    padding:55px 0;

  }


  #partner-page .partner-container{

    width:calc(100% - 24px);

  }


  #partner-page .partner-section-heading h2,
  #partner-page .partner-heading-center h2,
  #partner-page .partner-contribution-layout h2,
  #partner-page .partner-principles-heading h2{

    font-size:29px;

  }


  #partner-page .partner-pathway-card{

    padding:22px;

  }


  #partner-page .partner-focus-card{

    grid-template-columns:
      auto auto minmax(0,1fr) auto;

    gap:9px;

    padding:17px;

  }


  #partner-page .partner-focus-number{

    font-size:9px;

  }


  #partner-page .partner-focus-icon{

    width:38px;
    height:38px;

    font-size:14px;

  }


  #partner-page .partner-focus-card h3{

    font-size:13px;

  }


  #partner-page .partner-focus-card p{

    font-size:10px;

  }


  #partner-page .partner-principles-box{

    padding:25px 18px;

  }


  #partner-page .partner-final-inner{

    padding:25px 18px;

  }


  #partner-page .partner-final-inner h2{

    font-size:28px;

  }

}


/* =========================================================
   ACCESSIBILITY / REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

  #partner-page .partner-pathway-card,
  #partner-page .partner-focus-card,
  #partner-page .partner-text-link,
  #partner-page .partner-pathway-card > a,
  #partner-page .partner-focus-arrow{

    transition:none;

  }

}