/* =========================================================
   QUEM SOMOS — estilos específicos da página
   Depende de css/style.css (variáveis, nav, botões, footer)
========================================================= */

/* --terracotta-soft, [id] scroll-margin e a regra de aria-current estão em styles.css
   (servem a mais de uma página interna). */

/* ---------- estrutura base ---------- */
.qs-wrap{ padding:0 24px; }
.qs-sec{ padding:56px 0; }
.qs-sec--cream{ background:var(--cream); }
.qs-sec--cream2{ background:var(--cream-2); }
.qs-sec--navy{ background:var(--navy); color:var(--cream); }
.qs-sec--navy .kicker,
.qs-hero .kicker{ color:var(--terracotta-soft); }

.qs-h2{ font-size:30px; line-height:1.12; }
.qs-sec--navy .qs-h2{ color:var(--cream); }

/* ---------- hero ---------- */
.qs-hero{
  background:var(--navy);
  padding:48px 0 36px;
}
.qs-hero .crumb{
  font-size:12px; letter-spacing:.12em; color:rgba(250,243,231,.6);
  margin-bottom:22px; display:block;
}
.qs-hero .crumb a{ color:rgba(250,243,231,.8); }
.qs-hero h1{
  font-size:46px; line-height:1.04; color:var(--cream);
}
.qs-anchors{
  display:flex; gap:10px; margin-top:34px;
  overflow-x:auto; scrollbar-width:none; padding-bottom:2px;
}
.qs-anchors::-webkit-scrollbar{ display:none; }
.qs-anchors a{
  flex:0 0 auto;
  padding:12px 12px;
  border:1px solid var(--line-on-navy);
  color:var(--cream);
  font-size:13.5px; letter-spacing:.02em;
}

/* ---------- introdução ---------- */
.qs-intro{ display:grid; gap:40px; }
.qs-intro .lead-p{
  font-family:'Cormorant Garamond', serif;
  font-size:23px; line-height:1.42; color:var(--navy); font-weight:500;
}
.qs-intro p + p{ margin-top:18px; }

.qs-duo{ position:relative; padding-bottom:52px; }
.qs-duo .big{
  display:block; width:80%; margin-left:auto;
  aspect-ratio:4/5; object-fit:cover; border-radius:16px;
}
.qs-duo .small{
  position:absolute; left:0; bottom:0; width:54%;
  aspect-ratio:3/2; object-fit:cover; border-radius:14px;
  border:6px solid var(--cream);
}

/* ---------- faixas de citação ---------- */
.qs-band{
  position:relative;
  background-size:cover; background-position:center;
  padding:84px 0; color:var(--cream);
}
.qs-band::before{
  content:""; position:absolute; inset:0;
  background:rgba(13,32,56,.58);
}
.qs-band .qs-wrap{ position:relative; }
.qs-band .qmark{
  font-family:'Cormorant Garamond', serif;
  font-size:76px; line-height:.5; color:var(--terracotta-soft);
  display:block; margin-bottom:10px;
}
.qs-band blockquote{
  font-family:'Cormorant Garamond', serif;
  font-size:26px; line-height:1.36; font-weight:500;
  max-width:660px; color:var(--cream);
}
.qs-band cite{
  display:block; margin-top:20px;
  font-style:normal; font-size:13px; letter-spacing:.05em;
  color:rgba(250,243,231,.82);
}

/* ---------- história ---------- */
.qs-hist{ display:grid; gap:24px; margin-top:32px; }
.qs-hist figure{ margin:0; }
.qs-hist figure img{
  display:block; width:100%;
  aspect-ratio:4/5; object-fit:cover; border-radius:16px;
}
.qs-hist .panel{
  background:var(--blush); border-radius:16px; padding:30px 24px;
}
.qs-hist .panel p{ color:var(--ink); font-size:15.5px; }
.qs-hist .panel p + p{ margin-top:16px; }
.qs-hist .panel .closing{
  font-family:'Cormorant Garamond', serif;
  font-size:22px; line-height:1.4; font-style:italic; color:var(--navy);
}
.qs-sign{
  margin-top:26px; padding-top:18px;
  border-top:1px solid rgba(19,44,79,.18);
}
.qs-sign .name{
  font-family:'Cormorant Garamond', serif;
  font-size:19px; letter-spacing:.08em; color:var(--terracotta-dark);
}
.qs-sign .role{ display:block; font-size:13px; color:var(--ink-soft); margin-top:2px; }

/* ---------- manifesto: missão e visão ---------- */
.qs-mv{ display:grid; gap:36px; margin-top:34px; }
.qs-mv article{ border-top:2px solid var(--terracotta); padding-top:22px; }
.qs-mv h3{ font-size:27px; margin-bottom:12px; }
.qs-mv p{ font-size:15.5px; }

/* ---------- valores ---------- */
.qs-values{ list-style:none; margin-top:30px; border-bottom:1px solid var(--line); }
.qs-values li{
  display:grid; grid-template-columns:42px 1fr; gap:10px;
  padding:26px 0; border-top:1px solid var(--line);
}
.qs-values .n{
  font-family:'Cormorant Garamond', serif;
  font-size:16px; letter-spacing:.08em; color:var(--terracotta-dark); padding-top:5px;
}
.qs-values h3{ font-size:23px; margin-bottom:8px; }
.qs-values p{ font-size:15px; }

/* ---------- equipa ---------- */
.qs-team-intro{ margin-top:16px; max-width:560px; color:rgba(250,243,231,.72); }

.qs-lead{ display:grid; gap:30px; margin-top:40px; }
.qs-lead .photo{
  display:block; width:100%; max-width:340px;
  aspect-ratio:4/5; object-fit:cover; border-radius:16px;
}
.qs-lead h3{ color:var(--cream); font-size:32px; line-height:1.1; }
.qs-lead .role{
  display:block; margin-top:6px;
  font-size:13px; letter-spacing:.05em; color:var(--terracotta-soft);
}
.qs-lead .summary{
  margin-top:16px; color:rgba(250,243,231,.78); font-size:15.5px;
}
.qs-cols{ display:grid; gap:30px; margin-top:28px; }
.qs-cols h4{
  font-family:'Jost', sans-serif; font-weight:500;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--terracotta-soft); margin-bottom:6px;
}
.qs-cols ul{ list-style:none; }
.qs-cols li{
  padding:14px 0; border-top:1px solid var(--line-on-navy);
  font-size:14.5px; line-height:1.6; color:rgba(250,243,231,.8);
}
.qs-cols li:last-child{ border-bottom:1px solid var(--line-on-navy); }

.qs-team-title{ color:var(--cream); font-size:26px; margin-top:64px; }
.qs-team{ list-style:none; margin-top:22px; }
.qs-team li{
  display:flex; align-items:center; gap:16px;
  padding:16px 0; border-top:1px solid var(--line-on-navy);
}
.qs-team li:last-child{ border-bottom:1px solid var(--line-on-navy); }
.qs-team .mono{
  flex:0 0 56px; width:56px; height:56px; border-radius:50%;
  border:1px solid var(--line-on-navy);
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond', serif; font-size:22px; color:var(--terracotta-soft);
}
.qs-team .name{ display:block; font-size:15.5px; font-weight:500; color:var(--cream); }
.qs-team .area{ display:block; font-size:13px; color:rgba(250,243,231,.66); margin-top:3px; line-height:1.4; }

/* ---------- CTA final ---------- */
.qs-cta{ text-align:left; }
.qs-cta h2{ font-size:30px; max-width:520px; }
.qs-cta .btn{ margin-top:26px; }

/* =========================================================
   TABLET (≥768px)
========================================================= */
@media (min-width:768px){
  .qs-wrap{ padding:0 40px; }
  .qs-sec{ padding:72px 0; }
  .qs-h2{ font-size:36px; }

  .qs-hero{ padding:64px 0 44px; }
  .qs-hero h1{ font-size:60px; }

  .qs-intro{ grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
  .qs-intro .lead-p{ font-size:25px; }

  .qs-band{ padding:104px 0; }
  .qs-band blockquote{ font-size:32px; }

  .qs-hist{ grid-template-columns:.85fr 1.15fr; gap:28px; align-items:stretch; margin-top:40px; }
  .qs-hist figure, .qs-hist figure img{ height:100%; }
  .qs-hist figure img{ aspect-ratio:auto; min-height:420px; }
  .qs-hist .panel{ padding:40px 36px; }

  .qs-mv{ grid-template-columns:1fr 1fr; gap:48px; }
  .qs-values{ display:grid; grid-template-columns:1fr 1fr; column-gap:48px; border-bottom:none; }
  .qs-values li{ border-bottom:none; }
  .qs-values li:nth-last-child(-n+2){ border-bottom:1px solid var(--line); }

  .qs-lead{ grid-template-columns:280px 1fr; gap:40px; align-items:start; }
  .qs-lead .photo{ max-width:none; }
  .qs-cols{ grid-template-columns:1.5fr 1fr; gap:36px; }

  .qs-team{ display:grid; grid-template-columns:repeat(3,1fr); gap:0 28px; }
  .qs-team li{ flex-direction:column; align-items:flex-start; gap:14px; padding:22px 0 26px; border-bottom:none !important; }
  .qs-team .mono{ width:64px; height:64px; flex-basis:64px; }

  .qs-cta h2{ font-size:36px; }
}

/* =========================================================
   DESKTOP (≥1024px)
========================================================= */
@media (min-width:1024px){
  .qs-wrap{ max-width:1160px; margin:0 auto; padding:0 56px; }
  .qs-sec{ padding:96px 0; }
  .qs-h2{ font-size:42px; }

  .qs-hero{ padding:84px 0 56px; }
  .qs-hero h1{ font-size:72px; }

  .qs-intro{ grid-template-columns:1.05fr 1fr; gap:88px; }
  .qs-intro .lead-p{ font-size:28px; }
  .qs-duo{ padding-bottom:64px; }

  .qs-band{ padding:136px 0; }
  .qs-band blockquote{ font-size:38px; max-width:760px; }

  .qs-hist{ grid-template-columns:.8fr 1.2fr; gap:36px; margin-top:48px; }
  .qs-hist .panel{ padding:56px 56px; }
  .qs-hist .panel p{ font-size:16px; }
  .qs-hist .panel .closing{ font-size:25px; }

  .qs-mv{ gap:72px; margin-top:44px; }
  .qs-mv h3{ font-size:30px; }
  .qs-mv p{ font-size:16.5px; }

  .qs-values{ column-gap:72px; margin-top:44px; }
  .qs-values li{ grid-template-columns:52px 1fr; padding:32px 0; }
  .qs-values h3{ font-size:25px; }

  .qs-lead{ grid-template-columns:360px 1fr; gap:72px; margin-top:56px; }
  .qs-lead h3{ font-size:40px; }
  .qs-cols{ gap:56px; }

  .qs-team-title{ margin-top:88px; font-size:30px; }
  .qs-team{ grid-template-columns:repeat(5,1fr); gap:0 24px; }
  .qs-team .mono{ width:72px; height:72px; flex-basis:72px; font-size:26px; }

  .qs-cta .qs-wrap{ display:flex; justify-content:space-between; align-items:center; gap:64px; }
  .qs-cta .btn{ margin-top:0; flex:0 0 auto; }
}
