
body.partnership-page{
  margin:0;
  width:100%;
  min-height:100%;
  background:#FFFFFF;
}

body.partnership-page{
  position:relative;
  overflow-x:hidden;
  color:var(--berry);
}

body.partnership-page .topbar{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:96px;
  z-index:100;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.partnership-page .topbar::before,
body.partnership-page .topbar::after{
  content:none !important;
  display:none !important;
}

body.partnership-page .brand-fixed,
body.partnership-page .nav{
  z-index:110;
}

body.partnership-page .brand-fixed img{
  filter:
    saturate(1.35)
    contrast(1.22)
    drop-shadow(0 0 .45px rgba(233,81,124,.95))
    drop-shadow(0 1px 2px rgba(93,20,38,.10));
}

body.partnership-page .partnership-counter-spacer{
  visibility:hidden;
  pointer-events:none;
}

body.partnership-page .partnership-main{
  position:relative;
  width:100%;
  min-height:100vh;
  min-height:100svh;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#FFFFFF;
}

body.partnership-page .partnership-master{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
}

body.partnership-page .partnership-master img{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  object-fit:cover;
  object-position:center center;
  user-select:none;
  -webkit-user-drag:none;
}

body.partnership-page .partnership-copy{
  position:absolute;
  left:4.4vw;
  top:112px;
  bottom:28px;
  z-index:20;
  width:min(46vw,900px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#4B1724;
}

body.partnership-page .partnership-eyebrow{
  margin:0 0 9px;
  color:#E9517C;
  font-size:11px;
  font-weight:700;
  letter-spacing:.30em;
  text-transform:uppercase;
}

body.partnership-page .partnership-divider{
  display:block;
  width:54px;
  height:2px;
  margin:0 0 16px;
  background:#C59B36;
}

body.partnership-page .partnership-title{
  margin:0;
  color:#4B1724;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(54px,5.1vw,92px);
  font-weight:400;
  line-height:.90;
  letter-spacing:-.045em;
}

body.partnership-page .partnership-lead{
  width:min(560px,100%);
  margin:20px 0 0;
  color:#4B1724;
  font-size:15px;
  line-height:1.5;
}

body.partnership-page .partnership-body{
  width:min(540px,100%);
  margin:12px 0 0;
  color:rgba(75,23,36,.74);
  font-size:14px;
  line-height:1.5;
}

body.partnership-page .partnership-cards{
  width:min(980px,56vw);
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

body.partnership-page .partnership-card{
  min-height:245px;
  padding:28px 26px 26px;
  border:1px solid rgba(75,23,36,.10);
  border-radius:22px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 40px rgba(68,45,36,.10);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

body.partnership-page .partnership-card-icon{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  border-radius:50%;
  background:rgba(233,81,124,.10);
  color:#8A4C2A;
  font-size:23px;
}

body.partnership-page .partnership-card h2{
  margin:0 0 14px;
  color:#5D1426;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  font-weight:700;
  line-height:1.08;
  letter-spacing:.01em;
}

body.partnership-page .partnership-card p{
  margin:0;
  color:rgba(75,23,36,.78);
  font-size:14px;
  line-height:1.5;
}

@media(max-width:1200px){
  body.partnership-page .partnership-copy{
    width:50vw;
  }

  body.partnership-page .partnership-cards{
    width:min(860px,58vw);
  }

  body.partnership-page .partnership-card{
    min-height:220px;
    padding:22px 20px 20px;
  }

  body.partnership-page .partnership-card h2{
    font-size:19px;
  }

  body.partnership-page .partnership-card p{
    font-size:12px;
  }
}

/* =========================================================
   TABLET + MOBILE
   ========================================================= */
@media(max-width:960px){

  body.partnership-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:78px !important;
    background:transparent !important;
    z-index:1000 !important;
  }

  body.partnership-page .brand-fixed{
    position:absolute !important;
    top:8px !important;
    left:10px !important;
    z-index:1010 !important;
  }

  body.partnership-page .brand-fixed img{
    width:50px !important;
    height:auto !important;
  }

  /* restore nav hidden by style.css */
  body.partnership-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:46px !important;
    left:10px !important;
    right:10px !important;
    width:calc(100% - 20px) !important;
    transform:none !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:4px !important;
    margin:0 !important;
    padding:0 !important;
    z-index:1010 !important;
  }

  body.partnership-page .nav a{
    display:block !important;
    flex:0 0 auto !important;
    padding:3px 0 !important;
    font-size:6.8px !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
  }

  body.partnership-page .partnership-master img{
    object-position:60% center;
  }

  body.partnership-page .partnership-copy{
    left:5vw;
    top:90px;
    bottom:26px;
    width:52vw;
  }

  body.partnership-page .partnership-title{
    font-size:clamp(42px,7vw,68px);
  }

  body.partnership-page .partnership-lead{
    font-size:12px;
  }

  body.partnership-page .partnership-body{
    font-size:11px;
  }

  body.partnership-page .partnership-cards{
    grid-template-columns:1fr;
    width:410px;
    max-height:46vh;
    overflow-y:auto;
    padding-right:4px;
    gap:10px;
  }

  body.partnership-page .partnership-card{
    min-height:0;
    padding:16px 16px;
  }

  body.partnership-page .partnership-card-icon{
    width:34px;
    height:34px;
    margin-bottom:9px;
    font-size:17px;
  }

  body.partnership-page .partnership-card h2{
    margin-bottom:7px;
    font-size:16px;
  }

  body.partnership-page .partnership-card p{
    font-size:11px;
  }
}

/* =========================================================
   PHONE PORTRAIT
   ========================================================= */
@media(max-width:520px) and (orientation:portrait){

  body.partnership-page{
    overflow-x:hidden !important;
    overflow-y:auto !important;
  }

  body.partnership-page .partnership-main{
    min-height:100svh;
    overflow:hidden;
  }

  body.partnership-page .partnership-master img{
    object-position:68% center;
  }

  body.partnership-page .partnership-copy{
    left:18px;
    right:18px;
    top:88px;
    bottom:20px;
    width:auto;
    justify-content:flex-end;
  }

  body.partnership-page .partnership-eyebrow{
    font-size:8px;
  }

  body.partnership-page .partnership-title{
    font-size:clamp(36px,11vw,50px);
  }

  body.partnership-page .partnership-lead{
    width:76vw;
    margin-top:14px;
    font-size:10px;
  }

  body.partnership-page .partnership-body{
    width:76vw;
    margin-top:8px;
    font-size:9px;
  }

  body.partnership-page .partnership-cards{
    width:100%;
    margin-top:14px;
    grid-template-columns:1fr;
    gap:10px;
    max-height:42vh;
  }

  body.partnership-page .partnership-card{
    padding:14px 14px;
    border-radius:14px;
  }

  body.partnership-page .partnership-card-icon{
    width:30px;
    height:30px;
    margin-bottom:8px;
    font-size:16px;
  }

  body.partnership-page .partnership-card h2{
    margin-bottom:7px;
    font-size:13px;
  }

  body.partnership-page .partnership-card p{
    font-size:9px;
  }
}

/* =========================================================
   LANDSCAPE — TABLET / PHONE
   Only this section differs from the approved portrait/desktop.
   ========================================================= */

@media(max-width:960px) and (orientation:landscape){

  html,
  body.partnership-page{
    width:100% !important;
    min-height:100% !important;
    height:auto !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.partnership-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:92px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    z-index:9999 !important;
  }

  body.partnership-page .brand-fixed{
    position:absolute !important;
    top:7px !important;
    left:12px !important;
    transform:none !important;
    z-index:10010 !important;
  }

  body.partnership-page .brand-fixed img{
    width:48px !important;
    height:auto !important;
  }

  body.partnership-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:57px !important;
    left:12px !important;
    right:12px !important;
    width:calc(100% - 24px) !important;
    transform:none !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
    z-index:10010 !important;
  }

  body.partnership-page .nav a{
    flex:0 0 auto !important;
    padding:3px 0 !important;
    font-size:clamp(6.4px,.90vw,7.8px) !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
  }

  body.partnership-page .partnership-main{
    position:relative !important;
    width:100% !important;
    min-height:100svh !important;
    height:auto !important;
    margin:0 !important;
    padding:0 0 42px !important;
    overflow:visible !important;
    background:#FFFFFF !important;
  }

  body.partnership-page .partnership-master{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    pointer-events:none !important;
    z-index:1 !important;
  }

  body.partnership-page .partnership-master img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:60% center !important;
  }

  body.partnership-page .partnership-copy{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    z-index:20 !important;
    width:min(50vw,560px) !important;
    margin:0 0 0 5vw !important;
    padding:108px 0 28px !important;
    display:block !important;
  }

  body.partnership-page .partnership-eyebrow{
    margin:0 0 5px !important;
    font-size:7px !important;
  }

  body.partnership-page .partnership-divider{
    width:42px !important;
    margin:0 0 9px !important;
  }

  body.partnership-page .partnership-title{
    margin:0 !important;
    font-size:clamp(31px,4.8vw,50px) !important;
    line-height:.90 !important;
  }

  body.partnership-page .partnership-lead{
    width:100% !important;
    margin-top:10px !important;
    font-size:9px !important;
    line-height:1.38 !important;
  }

  body.partnership-page .partnership-body{
    width:100% !important;
    margin-top:8px !important;
    font-size:8.5px !important;
    line-height:1.38 !important;
  }

  body.partnership-page .partnership-cards{
    width:min(470px,100%) !important;
    margin-top:16px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    padding:0 !important;
  }

  body.partnership-page .partnership-card{
    min-height:0 !important;
    height:auto !important;
    padding:14px !important;
    border-radius:14px !important;
  }

  body.partnership-page .partnership-card-icon{
    width:30px !important;
    height:30px !important;
    margin-bottom:7px !important;
    font-size:15px !important;
  }

  body.partnership-page .partnership-card h2{
    margin:0 0 6px !important;
    font-size:13px !important;
    line-height:1.08 !important;
  }

  body.partnership-page .partnership-card p{
    margin:0 !important;
    font-size:8.5px !important;
    line-height:1.38 !important;
  }
}

/* =========================================================
   TABLET LANDSCAPE — REAL DEVICE FIX
   Some tablets report a CSS viewport wider than 960px,
   so the older max-width:960px landscape rules never run.
   ========================================================= */
@media (orientation:landscape)
       and (min-width:961px)
       and (max-width:1366px)
       and (max-height:900px)
       and (pointer:coarse){

  html,
  body.partnership-page{
    width:100% !important;
    min-height:100% !important;
    height:auto !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  /* Overlay header: logo first row, nav second row. */
  body.partnership-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:104px !important;
    background:transparent !important;
    z-index:9999 !important;
  }

  body.partnership-page .brand-fixed{
    position:absolute !important;
    top:8px !important;
    left:18px !important;
    transform:none !important;
    z-index:10010 !important;
  }

  body.partnership-page .brand-fixed img{
    width:58px !important;
    height:auto !important;
  }

  body.partnership-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;

    position:absolute !important;
    top:66px !important;
    left:18px !important;
    right:18px !important;

    width:calc(100% - 36px) !important;
    transform:none !important;

    justify-content:space-between !important;
    align-items:center !important;
    gap:14px !important;

    margin:0 !important;
    padding:0 !important;

    z-index:10010 !important;
  }

  body.partnership-page .nav a{
    flex:0 0 auto !important;
    padding:4px 0 !important;
    font-size:8px !important;
    line-height:1 !important;
    letter-spacing:.08em !important;
    white-space:nowrap !important;
  }

  /*
    Critical scroll fix:
    main/copy are no longer viewport-locked/absolute.
    Their height is created by the real content.
  */
  body.partnership-page .partnership-main{
    position:relative !important;
    width:100% !important;
    min-height:100svh !important;
    height:auto !important;
    margin:0 !important;
    padding:0 0 56px !important;
    overflow:visible !important;
    background:#FFFFFF !important;
  }

  body.partnership-page .partnership-master{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    z-index:1 !important;
    pointer-events:none !important;
  }

  body.partnership-page .partnership-master img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:62% center !important;
  }

  body.partnership-page .partnership-copy{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;

    z-index:20 !important;

    width:min(54vw,620px) !important;
    margin:0 0 0 5vw !important;
    padding:126px 0 34px !important;

    display:block !important;
  }

  body.partnership-page .partnership-eyebrow{
    margin:0 0 6px !important;
    font-size:8px !important;
  }

  body.partnership-page .partnership-divider{
    width:44px !important;
    margin:0 0 10px !important;
  }

  body.partnership-page .partnership-title{
    margin:0 !important;
    font-size:clamp(42px,5.2vw,64px) !important;
    line-height:.90 !important;
  }

  body.partnership-page .partnership-lead{
    width:100% !important;
    margin-top:12px !important;
    font-size:11px !important;
    line-height:1.42 !important;
  }

  body.partnership-page .partnership-body{
    width:100% !important;
    margin-top:8px !important;
    font-size:10px !important;
    line-height:1.42 !important;
  }

  body.partnership-page .partnership-cards{
    width:min(520px,100%) !important;
    margin-top:18px !important;

    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;

    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    padding:0 !important;
  }

  body.partnership-page .partnership-card{
    min-height:0 !important;
    height:auto !important;
    padding:16px 17px !important;
    border-radius:16px !important;
  }

  body.partnership-page .partnership-card-icon{
    width:32px !important;
    height:32px !important;
    margin-bottom:8px !important;
    font-size:16px !important;
  }

  body.partnership-page .partnership-card h2{
    margin:0 0 7px !important;
    font-size:15px !important;
    line-height:1.08 !important;
  }

  body.partnership-page .partnership-card p{
    margin:0 !important;
    font-size:10px !important;
    line-height:1.42 !important;
  }
}

/* =========================================================
   PARTNERSHIP — TABLET LANDSCAPE HEADER ALIGNMENT FIX
   Keep logo + nav on one clean row.
   HP and desktop remain untouched.
   ========================================================= */
@media (orientation:landscape)
       and (min-width:961px)
       and (max-width:1366px)
       and (max-height:900px)
       and (pointer:coarse){

  body.partnership-page .topbar{
    height:78px !important;
  }

  body.partnership-page .brand-fixed{
    top:10px !important;
    left:18px !important;
  }

  body.partnership-page .brand-fixed img{
    width:58px !important;
  }

  body.partnership-page .nav{
    top:24px !important;
    left:112px !important;
    right:28px !important;
    width:auto !important;

    justify-content:center !important;
    gap:clamp(26px,4vw,56px) !important;
  }

  body.partnership-page .nav a{
    font-size:8px !important;
    letter-spacing:.10em !important;
  }
}

/* =========================================================
   PARTNERSHIP — NAV POSITION COPIED FROM CONTACT LOCK
   HEADER/NAV ONLY. CONTENT UNTOUCHED.
   ========================================================= */

body.partnership-page .topbar{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:96px !important;
  z-index:100 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.partnership-page .topbar::before,
body.partnership-page .topbar::after{
  content:none !important;
  display:none !important;
}

body.partnership-page .brand-fixed,
body.partnership-page .nav{
  z-index:110 !important;
}

@media(max-width:960px){
  body.partnership-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:78px !important;
    background:transparent !important;
    z-index:1000 !important;
  }

  body.partnership-page .brand-fixed{
    position:absolute !important;
    top:8px !important;
    left:10px !important;
    z-index:1010 !important;
  }

  body.partnership-page .brand-fixed img{
    width:50px !important;
    height:auto !important;
  }

  body.partnership-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:46px !important;
    left:10px !important;
    right:10px !important;
    width:calc(100% - 20px) !important;
    transform:none !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:4px !important;
    margin:0 !important;
    padding:0 !important;
    z-index:1010 !important;
  }

  body.partnership-page .nav a{
    display:block !important;
    flex:0 0 auto !important;
    padding:3px 0 !important;
    font-size:6.8px !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
  }
}

@media(max-width:960px) and (orientation:landscape){
  body.partnership-page .topbar{
    height:64px !important;
  }

  body.partnership-page .brand-fixed{
    top:8px !important;
    left:12px !important;
  }

  body.partnership-page .brand-fixed img{
    width:52px !important;
  }

  body.partnership-page .nav{
    top:16px !important;
    left:80px !important;
    right:16px !important;
    width:auto !important;
    justify-content:center !important;
    gap:clamp(12px,3vw,28px) !important;
  }

  body.partnership-page .nav a{
    font-size:clamp(6.5px,1vw,8px) !important;
  }
}

@media (min-width:961px)
       and (max-width:1366px)
       and (pointer:coarse){

  body.partnership-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:96px !important;
    background:transparent !important;
    z-index:9999 !important;
  }

  body.partnership-page .brand-fixed{
    position:absolute !important;
    top:16px !important;
    left:24px !important;
    transform:none !important;
  }

  body.partnership-page .brand-fixed img{
    width:100px !important;
    height:auto !important;
  }

  body.partnership-page .nav{
    display:flex !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    right:auto !important;
    width:max-content !important;
    transform:translate(-50%,-50%) !important;
    justify-content:center !important;
    align-items:center !important;
    gap:44px !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.partnership-page .nav a{
    font-size:11px !important;
    letter-spacing:.15em !important;
    white-space:nowrap !important;
  }
}

@media (orientation:portrait)
       and (min-width:521px)
       and (max-width:1366px)
       and (pointer:coarse){

  body.partnership-page .topbar{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:78px !important;
    min-height:0 !important;
    background:transparent !important;
    border:0 !important;
    overflow:visible !important;
  }

  body.partnership-page .brand-fixed{
    position:absolute !important;
    top:8px !important;
    left:12px !important;
    transform:none !important;
  }

  body.partnership-page .brand-fixed img{
    width:64px !important;
    height:auto !important;
  }

  body.partnership-page .nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    left:92px !important;
    right:18px !important;
    top:22px !important;
    width:auto !important;
    height:auto !important;
    transform:none !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(12px,3vw,30px) !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    z-index:120 !important;
  }

  body.partnership-page .nav a{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    flex:0 0 auto !important;
    padding:7px 0 !important;
    font-size:clamp(7px,1.3vw,9px) !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
  }
}

