/* TINK HOME — À propos page additions
   Load after css/style.css
*/

.about-hero .hero-media img{
  filter:brightness(.45) saturate(.76);
}

.about-intro{
  background:var(--paper);
}

.about-intro-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:80px;
  align-items:end;
}

.about-lead{
  max-width:760px;
  font:500 clamp(26px,3.5vw,48px)/1.22 Manrope;
  letter-spacing:-.05em;
}

.about-intro-copy{
  border-top:1px solid var(--line);
  padding-top:18px;
}

.about-intro-copy p{
  color:var(--muted);
  font-size:12px;
  line-height:1.85;
}

.about-intro-copy p + p{
  margin-top:18px;
}

.about-story{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:700px;
  background:#fff;
}

.about-story-image{
  min-height:650px;
  overflow:hidden;
}

.about-story-image img{
  filter:saturate(.8);
  transition:transform 1.1s ease;
}

.about-story:hover .about-story-image img{
  transform:scale(1.035);
}

.about-story-content{
  padding:9vw 8vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.about-story-content h2{
  font:700 clamp(45px,5.2vw,76px)/.94 Manrope;
  letter-spacing:-.065em;
  margin:20px 0 24px;
}

.about-story-content h2 em{
  color:var(--blue);
  font-style:italic;
  font-weight:500;
}

.about-story-content>p:not(.eyebrow){
  max-width:510px;
  color:var(--muted);
  font-size:14px;
  line-height:1.9;
}

.about-story-content>p + p{
  margin-top:18px;
}

.about-story-content .text-link{
  align-self:flex-start;
  margin-top:30px;
}

.approach-section{
  background:#e9eef0;
}

.approach-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.approach-card{
  min-height:310px;
  padding:25px;
  background:#fff;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.4s cubic-bezier(.2,.7,.2,1);
}

.approach-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}

.approach-card>span{
  display:block;
  color:var(--blue);
  font:700 9px Manrope;
  letter-spacing:.15em;
  margin-bottom:90px;
}

.approach-card h3{
  font:700 25px Manrope;
  letter-spacing:-.04em;
  margin-bottom:12px;
}

.approach-card p{
  max-width:250px;
  color:var(--muted);
  font-size:11px;
  line-height:1.75;
}

.audience-section{
  padding:115px 0;
  background:#f2f5f5;
}

.audience-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.audience-card{
  min-height:470px;
  padding:32px;
  background:#fff;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.4s cubic-bezier(.2,.7,.2,1);
}

.audience-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}

.audience-card-dark{
  background:#10181c;
  color:#fff;
  border-color:#10181c;
}

.audience-number{
  font:700 9px Manrope;
  color:var(--blue);
  letter-spacing:.15em;
}

.audience-card>div:last-child{
  max-width:520px;
}

.audience-card>div:last-child>span{
  display:block;
  font:700 8px Manrope;
  color:#89959b;
  letter-spacing:.17em;
  margin-bottom:15px;
}

.audience-card-dark>div:last-child>span{
  color:#8e9ba1;
}

.audience-card h3{
  font:700 clamp(36px,4vw,56px)/.94 Manrope;
  letter-spacing:-.065em;
  margin-bottom:20px;
}

.audience-card h3 em{
  color:var(--blue);
  font-style:italic;
  font-weight:500;
}

.audience-card-dark h3 em{
  color:#7bcaf1;
}

.audience-card p{
  max-width:430px;
  color:var(--muted);
  font-size:12px;
  line-height:1.85;
  margin-bottom:25px;
}

.audience-card-dark p{
  color:#b9c3c7;
}

.audience-card .text-link{
  align-self:flex-start;
}

.audience-card-dark .text-link{
  color:#fff;
  border-color:#4a575d;
}

.about-location{
  min-height:720px;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
}

.about-location-media{
  position:absolute;
  inset:0;
}

.about-location-media img{
  filter:brightness(.35) saturate(.65);
  transition:transform 1.2s ease;
}

.about-location:hover .about-location-media img{
  transform:scale(1.04);
}

.about-location-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 65% 45%,rgba(5,12,16,.1),rgba(5,12,16,.78)),
    linear-gradient(90deg,rgba(5,12,16,.78),rgba(5,12,16,.15) 80%);
}

.about-location-content{
  position:relative;
  z-index:2;
}

.about-location-content h2{
  max-width:850px;
  font:700 clamp(50px,7vw,94px)/.9 Manrope;
  letter-spacing:-.07em;
  margin:22px 0;
}

.about-location-content h2 em{
  color:#7bcaf1;
  font-style:italic;
  font-weight:500;
}

.about-location-content>p:not(.eyebrow){
  max-width:520px;
  color:#c1cace;
  font-size:13px;
  line-height:1.9;
  margin-bottom:28px;
}

.location-address{
  border-top:1px solid rgba(255,255,255,.2);
  max-width:420px;
  padding-top:16px;
  margin-bottom:28px;
}

.location-address span{
  display:block;
  color:#8f9ba0;
  font:700 8px Manrope;
  letter-spacing:.16em;
  margin-bottom:10px;
}

.location-address p{
  color:#e0e6e8;
  font-size:12px;
  line-height:1.7;
}

@media(max-width:950px){
  .about-intro-grid{
    grid-template-columns:1fr;
    gap:35px;
  }

  .about-story{
    grid-template-columns:1fr;
  }

  .about-story-image{
    min-height:520px;
  }

  .about-story-content{
    padding:75px 8vw;
  }

  .approach-grid{
    grid-template-columns:1fr 1fr;
  }

  .audience-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:600px){
  .about-lead{
    font-size:29px;
  }

  .about-story-image{
    min-height:420px;
  }

  .about-story-content{
    padding:65px 25px;
  }

  .about-story-content h2{
    font-size:49px;
  }

  .approach-grid{
    grid-template-columns:1fr;
  }

  .approach-card{
    min-height:240px;
  }

  .approach-card>span{
    margin-bottom:55px;
  }

  .audience-section{
    padding:82px 0;
  }

  .audience-card{
    min-height:440px;
    padding:25px;
  }

  .audience-card h3{
    font-size:42px;
  }

  .about-location{
    min-height:650px;
  }

  .about-location-content h2{
    font-size:50px;
  }
}