

/* =========================================
   Home Image Size
   ========================================= */

/* Ensure slide is a positioning context */
#home .slide-wrap {
  position: relative;
}

/* Hero wrapper: span viewport, center content */
#home .private-hero-image {
  position: relative;
  z-index: 5;
  width: 100vw;                 /* critical for % scaling */
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding-top: clamp(80px, 12vh, 140px);
  padding-bottom: 20px;
}

/* Image scaling + opacity fix */
#home .private-hero-image img {
  width: 50%;
  max-width: 280px;
  height: auto;

  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Responsive down-scaling */
@media (max-width: 1600px) {
  #home .private-hero-image img { width: 50%; }
}

@media (max-width: 1200px) {
  #home .private-hero-image img { width: 50%; }
}

@media (max-width: 900px) {
  #home .private-hero-image img { width: 70%; }
}

@media (max-width: 600px) {
  #home .private-hero-image img { width: 80%; }
}


/* =========================================
   Contact Form deep-link (footer -> accordion)
   ========================================= */

/* So the accordion header doesn't get hidden under the fixed toolbar */
#contact-form {
  scroll-margin-top: calc(var(--toolbar-h, 80px) + 20px);
}


/* =========================================
   Remove focus/active outline from Contact Form jump link
   ========================================= */

#contact a.js-open-contact-form,
#contact a.js-open-contact-form:focus,
#contact a.js-open-contact-form:active {
  outline: none;
  box-shadow: none;
}

/* Optional: only remove focus when triggered by mouse */
#contact a.js-open-contact-form:focus:not(:focus-visible) {
  outline: none;
}

#contact a.js-open-contact-form {
  -webkit-tap-highlight-color: transparent;
}



/* =========================================
   Purchase Model Section
========================================= */

#purchase-model .pm-grid,
#partners .pm-grid,
#operations-content .pm-grid {
  display: grid;

  /* fixed desktop grid */
  grid-template-columns: repeat(3, 420px);
  gap: 25px;

  /* center the whole grid */
  width: 1310px;
  margin-left: auto;
  margin-right: auto;
}

/* Card styling */
#purchase-model .pm-card,
#partners .pm-card,
#operations-content .pm-card {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 24px;
}

/* Nested 2-row grid */
#purchase-model .pm-inner,
#partners .pm-inner,
#operations-content .pm-inner {
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 16px;
  align-items: start;
}

/* Row 1 (title) */
#purchase-model .pm-title,
#partners .pm-title,
#operations-content .pm-title {
  font-size: var(--fs-4);
  font-weight: 300;
  text-transform: uppercase;
  text-align: left;

  line-height: 1.2;
  min-height: calc(2 * 1.2em); /* reserve 2 lines so bodies align */
  display: flex;
  align-items: flex-start;
  justify-content: left;
}

/* Row 2 (body) */
#purchase-model .pm-body,
#partners .pm-body,
#operations-content .pm-body {
  font-size: var(--fs-2);
  font-weight: 300;
  line-height: 1.6;
  text-align: left;
}

/* Desktop-only <br> */
#purchase-model .desktop-br,
#partners .desktop-br,
#operations-content .desktop-br {
  display: none;
}
@media (min-width: 1400px){
  #purchase-model .desktop-br,
  #partners.desktop-br,
  #operations-content .desktop-br {
    display: inline;
  }
}

/* Collapse below 1400px */
@media (max-width: 1399px){

  #purchase-model .pm-grid,
  #partners .pm-grid,
  #operations-content .pm-grid {
    width: 100%;
    max-width: 900px;
    grid-template-columns: 1fr;
    gap: 18px;
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Tighten nested spacing */
  #purchase-model .pm-inner,
  #partners .pm-inner,
  #operations-content .pm-inner {
    row-gap: 10px;
  }

  /* IMPORTANT: reduce/remove reserved title height on tablet/mobile */
  #purchase-model .pm-title,
  #partners .pm-title, 
  #operations-content .pm-title {
    min-height: unset;         /* removes the extra vertical space */
    line-height: 1.15;         /* optional: slightly tighter title box */
  }

  #purchase-model .pm-body,
  #partners .pm-body,
  #operations-content .pm-body {
  font-size: var(--fs-1);
  font-weight: 300;
  text-align: left;
  }
  
  #purchase-model .pm-title,
  #partners .pm-title,
  #operations-content .pm-title {
  font-size: var(--fs-3);
  font-weight: 300;
  text-align: left;
  }
}


/* =========================================
   Partner Support Section
========================================= */

/* ---------- GRID ---------- */

#partner-support .ps-grid{
  display: grid;

  /* fixed desktop grid */
  grid-template-columns: repeat(2, 642px);
  gap: 26px;

  /* center the whole grid */
  width: 1310px;
  margin-left: auto;
  margin-right: auto;
}


/* ---------- CARD ---------- */

#partner-support .ps-card{
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 24px;
}


/* ---------- NESTED GRID ---------- */

#partner-support .ps-inner{
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 16px;
  align-items: start;
}


/* ---------- TITLE ---------- */

#partner-support .ps-title{
  font-size: var(--fs-4);
  font-weight: 300;
  text-transform: uppercase;
  text-align: left;

  line-height: 1.2;
  min-height: calc(2 * 1.2em); /* reserve 2 lines so bodies align */
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}


/* ---------- BODY TEXT ---------- */

#partner-support .ps-body{
  font-size: var(--fs-2);
  font-weight: 200;
  line-height: 1.6;
  text-align: left;
}

@media (max-width: 1400px){
  #partner-support .ps-body{
  font-size: var(--fs-1);
  font-weight: 200;
  }
  
  #partner-support .ps-title{
  font-size: var(--fs-3);
  font-weight: 300;
 }
}

/* ---------- CUSTOM LIST STYLE ---------- */

#partner-support ul.partner-support-text{
  font-size: var(--fs-2);
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  padding-left: 20px;
  margin: 0;
}

#partner-support ul.partner-support-text > li{
  position: relative;
  padding-left: 36px;
  margin-bottom: 12px;
  line-height: 1.5;
  list-style: none;
}

#partner-support ul.partner-support-text > li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 22px;
  height: 22px;
  background-image: url("../../catmacs/tick-2-gold.png");
  background-size: contain;
  background-repeat: no-repeat;
}


/* =========================================
   RESPONSIVE (Collapse below 1400px)
========================================= */

@media (max-width: 1399px){

  #partner-support .ps-grid{
    width: 100%;
    max-width: 900px;
    grid-template-columns: 1fr;
    gap: 18px;
    padding-left: 20px;
    padding-right: 20px;
  }

  #partner-support .ps-inner{
    row-gap: 10px; /* tighten title/body gap */
  }

  #partner-support .ps-title{
    min-height: unset;  /* remove reserved space on mobile */
    line-height: 1.15;
  }

  #partner-support .ps-body{
    text-align: justify;
    text-justify: inter-word;
  }

  #partner-support ul.partner-support-text{
    font-size: var(--fs-1);
  }
  
  #partner-support ul.partner-support-text > li{
  padding-left: 28px;
  }
	
  #partner-support ul.partner-support-text > li::before{
  top: 0.25em;
  width: 16px;
  height: 16px;
  }
}



/* =========================================
   Image Resize
========================================= */
#partners .partner-logo{
  width: 100%;   /* adjust default desktop size */
  height: auto;
  display: block;
  margin: 0 auto; /* center image */
}

/* <1400px */
@media (max-width: 1399px){
  #partners .partner-logo{
    width: 60%;
  }
}

/* <900px */
@media (max-width: 899px){
  #partners .partner-logo{
    width: 40%;
  }
}

/* <600px */
@media (max-width: 599px){
  #partners .partner-logo{
    width: 70%;
  }
}








/* =========================================
   Latest News
========================================= */

#latest-news .news-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(22px, 4vw, 60px);
  width: 100%;
  align-items: start;
}

/* ---------- Column 1: Image ---------- */
#latest-news #sgr-news{
  display: flex;
  flex-direction: column;  /* allows multiple images stacked */
  align-items: center;     /* h-align center */
  justify-self: center;
}

#latest-news #sgr-news img{
  display: block;
  margin: 0 auto;
  width: 500px;
  max-width: 100%;
  height: auto;
  padding-bottom: 20px;
}

/* remove bottom gap on last image */
#latest-news #sgr-news img:last-child{
  padding-bottom: 0;
}

/* ---------- Column 2: Text ---------- */
#latest-news #news-text{
  text-align: left;
}

/* Title: fs-3 desktop, fs-2 <=tablet, fw400 */
#latest-news #news-text .news-title{
  font-size: var(--fs-3);
  font-weight: 400;
  margin: 0 0 12px;
}

/* Info: fs-2 desktop, fs-1 <=tablet, fw200 */
#latest-news #news-text .news-info{
  font-size: var(--fs-2);
  font-weight: 300;
  margin: 0 0 18px;
  line-height: 1.6;
}

/* List: same as brush-kit-list with dot-gold bullets */
#latest-news #news-text .news-list{
  list-style: none;
  margin: 0;
  padding-left: 0;
}

#latest-news #news-text .news-list li{
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;

  font-size: var(--fs-2);
  font-weight: 200;
  color: inherit;
}

#latest-news #news-text .news-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 16px;
  height: 16px;
  background: url("../../catmacs/tick-2-gold.png") no-repeat center / contain;
}



/* ---------- <=1200px: stack image above text ---------- */
@media (max-width: 1200px){

  #latest-news .news-grid{
    grid-template-columns: 1fr;
  }

  /* Typography step-down */
  #latest-news #news-text .news-title{
    font-size: var(--fs-2);
    font-weight: 400;
  }

  #latest-news #news-text .news-info,
  #latest-news #news-text .news-list li{
    font-size: var(--fs-1);
    font-weight: 200;
  }

  /* Optional: constrain image width on smaller screens */
  #latest-news #sgr-news img{
    width: 320px;
    max-width: 100%;
  }
}



/* =========================================
   Text Hyperlink
========================================= */

/* Text link hover effect */
.text-link{
  color: #c0b5a4;
  transition: color 0.25s ease;
}

.text-link:hover{
  color: #f9f9f9;
}




