body.people-page{
  background:#e9edf0;
}

.people-hero{
  min-height:640px;
  background-position:center center;
}

.people-main{
  background:#e9edf0;
}

.people-intro{
  padding:54px 0 34px;
}

.people-intro .wrap,
.people-directory .wrap{
  width:min(1240px,calc(100% - 36px));
}

.people-kicker{
  display:inline-flex;
  margin-bottom:10px;
  color:#285566;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.people-intro h2{
  margin:0 0 12px;
  font-size:clamp(2rem,4vw,3.4rem);
  letter-spacing:-.04em;
}

.people-intro .lead{
  max-width:900px;
  margin:0;
}

.people-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:30px;
}

.people-stat{
  min-height:122px;
  padding:24px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:19px;
  background:linear-gradient(135deg,#fff,#eef4f7);
  box-shadow:0 10px 24px rgba(15,51,66,.10);
}

.people-stat strong{
  display:block;
  color:var(--blue);
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
}

.people-stat span{
  display:block;
  margin-top:9px;
  color:#4f6877;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.people-directory{
  padding:12px 0 70px;
}

.people-tools{
  display:grid;
  grid-template-columns:minmax(300px,1.45fr) repeat(4,minmax(145px,.7fr));
  gap:12px;
  padding:22px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:22px;
  background:#f7f9fa;
  box-shadow:0 12px 28px rgba(15,51,66,.11);
}

.people-tools label{
  display:grid;
  gap:7px;
  color:#4f6877;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.people-tools input,
.people-tools select{
  min-height:50px;
  padding:13px 14px;
  border:1px solid #cbd8df;
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  text-transform:none;
  letter-spacing:normal;
}

.people-tools input:focus,
.people-tools select:focus{
  outline:3px solid rgba(11,95,143,.12);
  border-color:#78adc7;
}

.people-directory-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:24px 2px 18px;
}

.people-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.people-directory-head .result-count{
  margin:0;
  white-space:nowrap;
}

.people-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.person-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:270px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.8);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,51,66,.12);
  transition:transform .2s ease,box-shadow .2s ease;
}

.person-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(15,51,66,.17);
}

.person-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 21px 15px;
  border-bottom:1px solid var(--line);
}

.person-type{
  color:var(--blue);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.person-country-code{
  color:#4d6675;
  font-size:.78rem;
  font-weight:800;
}

.person-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:22px;
}

.person-name{
  margin:0;
  font-size:clamp(1.3rem,2.3vw,1.65rem);
  line-height:1.08;
  letter-spacing:-.025em;
}

.person-country{
  margin-top:9px;
  color:var(--muted);
  font-size:.92rem;
}

.person-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
}

.person-tag{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:5px 10px;
  border:1px solid #cfe1ea;
  border-radius:999px;
  background:#eaf4f8;
  color:var(--blue);
  font-size:.72rem;
  font-weight:800;
}

.person-tag.rank{
  background:#e8f6f4;
  border-color:#c9e7e2;
  color:#197568;
}

.person-tag.points{
  background:#f0f5e8;
  border-color:#dce8c8;
  color:#587526;
}

.person-tag.role{
  background:#f5efe3;
  border-color:#e5d7b8;
  color:#79602f;
}

.person-link{
  margin-top:auto;
  padding-top:20px;
  color:var(--blue);
  font-size:.86rem;
  font-weight:800;
}

.person-link a:hover{
  text-decoration:underline;
}

.person-card.boat-card{
  grid-column:span 2;
  min-height:310px;
  color:#fff;
  border-color:rgba(255,255,255,.35);
  background:
    linear-gradient(100deg,rgba(50,89,105,.97),rgba(36,72,88,.96));
}

.boat-card .person-card-top{
  border-color:rgba(255,255,255,.18);
}

.boat-card .person-type,
.boat-card .person-country-code,
.boat-card .person-country,
.boat-card .person-link{
  color:#fff;
}

.boat-card .person-name{
  font-size:clamp(1.8rem,4vw,2.7rem);
}

.boat-copy{
  max-width:720px;
  margin:16px 0 0;
  color:rgba(255,255,255,.88);
}

.boat-card .person-tag{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.24);
  color:#fff;
}

@media(max-width:1050px){
  .people-tools{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .people-search-field{
    grid-column:1/-1;
  }
  .people-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .people-hero{
    min-height:560px;
    background-position:43% center;
  }

  .people-intro{
    padding:42px 0 28px;
  }

  .people-stats{
    grid-template-columns:1fr 1fr;
  }

  .people-stat{
    min-height:105px;
    padding:18px;
  }

  .people-directory{
    padding-bottom:50px;
  }

  .people-tools{
    grid-template-columns:1fr 1fr;
    padding:16px;
  }

  .people-search-field{
    grid-column:1/-1;
  }

  .people-directory-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .people-grid{
    grid-template-columns:1fr;
  }

  .person-card,
  .person-card.boat-card{
    grid-column:auto;
    min-height:0;
  }
}

@media(max-width:480px){
  .people-tools{
    grid-template-columns:1fr;
  }

  .people-search-field{
    grid-column:auto;
  }

  .people-stats{
    gap:10px;
  }

  .people-stat{
    padding:16px;
  }

  .people-directory-head .result-count{
    white-space:normal;
  }
}

/* =========================================================
   People page — premium dark theme
   ========================================================= */
body.hub-page.people-page,
body.people-page,
.people-page .people-main,
.people-page .people-intro,
.people-page .people-directory{
  background:#071927;
}

.people-page .people-intro{
  border-top:1px solid rgba(255,255,255,.06);
}

.people-page .people-kicker{
  color:#86cbea;
}

.people-page .people-intro h2,
.people-page .people-intro .lead,
.people-page .people-directory-head .result-count{
  color:#fff;
}

.people-page .people-intro .lead{
  color:#c5d4dc;
}

.people-page .people-stat{
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
  border-color:rgba(255,255,255,.12);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
}

.people-page .people-stat strong{
  color:#8fd4ff;
}

.people-page .people-stat span{
  color:#d8e7ee;
}

.people-page .people-tools{
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  border-color:rgba(255,255,255,.11);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
  backdrop-filter:blur(12px);
}

.people-page .people-tools label{
  color:#c9dae3;
}

.people-page .people-tools input,
.people-page .people-tools select{
  background:#fff;
  border-color:rgba(255,255,255,.25);
  color:#10212c;
}

.people-page .filter{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
  color:#e8f2f7;
}

.people-page .filter:hover{
  background:rgba(255,255,255,.12);
}

.people-page .filter.active{
  background:#fff;
  border-color:#fff;
  color:#071927;
}

.people-page .person-card{
  background:#fff;
  border-color:rgba(255,255,255,.15);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.people-page .person-type{
  color:#0b5f8f;
}

.people-page .person-tag{
  color:#0b5f8f;
}

.people-page .boat-card{
  background:linear-gradient(110deg,#285b70,#173d50);
  border-color:rgba(255,255,255,.18);
}

.people-page .empty{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.18);
  color:#c5d4dc;
}

/* =========================================================
   People page — richer premium profile cards
   ========================================================= */
.people-page .person-card{
  background:
    linear-gradient(180deg,#f8f6f1 0%,#edf2f4 100%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    0 20px 42px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.72);
}

.people-page .person-card:hover{
  transform:translateY(-5px);
  box-shadow:
    0 28px 54px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.76);
}

.people-page .person-card-top{
  background:linear-gradient(90deg,rgba(15,64,87,.08),rgba(255,255,255,.18));
  border-bottom:1px solid rgba(26,73,94,.14);
}

.people-page .person-name{
  color:#10212c;
}

.people-page .person-country{
  color:#617380;
}

.people-page .person-type{
  color:#0b5f8f;
}

.people-page .person-country-code{
  color:#536875;
}

.people-page .person-tag{
  background:#e7f1f5;
  border-color:#c5dbe5;
  color:#0b5f8f;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.people-page .person-tag.rank{
  background:#dff0ee;
  border-color:#bedfd9;
  color:#176f63;
}

.people-page .person-tag.points{
  background:#edf1df;
  border-color:#d4ddba;
  color:#587526;
}

.people-page .person-tag.role{
  background:#efe7d8;
  border-color:#ddcfb2;
  color:#71592c;
}

.people-page .person-link{
  color:#0b5f8f;
}

.people-page .boat-card{
  background:
    linear-gradient(110deg,#2f6073 0%,#173e51 58%,#102f40 100%);
  border-color:rgba(255,255,255,.20);
  box-shadow:
    0 22px 48px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.people-page .boat-card .person-card-top{
  background:rgba(255,255,255,.035);
  border-color:rgba(255,255,255,.14);
}

.people-page .boat-card .person-name,
.people-page .boat-card .person-country,
.people-page .boat-card .person-type,
.people-page .boat-card .person-country-code,
.people-page .boat-card .person-link{
  color:#fff;
}

.people-page .boat-card .person-tag{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.22);
  color:#fff;
  box-shadow:none;
}

/* =========================================================
   Rieti People page — O35 palette and design language
   ========================================================= */
body.hub-page.people-page,
body.people-page,
.people-page .people-main,
.people-page .people-intro,
.people-page .people-directory{
  background:
    radial-gradient(circle at 18% 8%,rgba(18,91,126,.18),transparent 32%),
    linear-gradient(180deg,#061824 0%,#071b29 48%,#061723 100%);
}

.people-page .people-intro{
  border-top:1px solid rgba(103,168,208,.12);
}

.people-page .people-kicker{
  color:#f0b83f;
}

.people-page .people-intro h2,
.people-page .people-intro .lead,
.people-page .people-directory-head .result-count{
  color:#fff;
}

.people-page .people-intro .lead{
  color:#d5e1e8;
}

.people-page .people-stats{
  gap:14px;
}

.people-page .people-stat{
  background:
    linear-gradient(180deg,rgba(10,39,57,.96),rgba(7,28,42,.96));
  border:1px solid rgba(100,165,205,.26);
  box-shadow:
    0 16px 36px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:none;
}

.people-page .people-stat strong{
  color:#71bfff;
}

.people-page .people-stat span{
  color:#e6edf2;
}

.people-page .people-tools{
  background:
    linear-gradient(180deg,rgba(8,35,51,.96),rgba(6,27,40,.96));
  border:1px solid rgba(92,153,193,.28);
  box-shadow:
    0 18px 42px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:none;
}

.people-page .people-tools label{
  color:#dce7ed;
}

.people-page .people-tools input,
.people-page .people-tools select{
  background:#071b29;
  border:1px solid rgba(101,164,204,.34);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}

.people-page .people-tools input::placeholder{
  color:#8198a7;
}

.people-page .people-tools input:focus,
.people-page .people-tools select:focus{
  outline:2px solid rgba(240,184,63,.32);
  border-color:#d9a93d;
}

.people-page .filter{
  background:#081d2b;
  border:1px solid rgba(97,157,197,.34);
  color:#f4f8fa;
}

.people-page .filter:hover{
  background:#0b2637;
  border-color:rgba(112,184,228,.55);
}

.people-page .filter.active{
  background:#0b2232;
  border-color:#d9a93d;
  color:#fff;
  box-shadow:0 0 0 1px rgba(217,169,61,.12);
}

.people-page .person-card{
  background:
    linear-gradient(180deg,#082031 0%,#061a28 100%);
  border:1px solid rgba(87,150,191,.32);
  color:#fff;
  box-shadow:
    0 16px 34px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.025);
}

.people-page .person-card:hover{
  transform:translateY(-4px);
  border-color:rgba(104,178,224,.52);
  box-shadow:
    0 24px 48px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.035);
}

.people-page .person-card-top{
  background:
    linear-gradient(90deg,rgba(17,62,84,.70),rgba(7,29,43,.35));
  border-bottom:1px solid rgba(91,150,190,.26);
}

.people-page .person-name{
  color:#fff;
}

.people-page .person-country{
  color:#d6e2e9;
}

.people-page .person-type{
  color:#f0b83f;
}

.people-page .person-country-code{
  color:#eef5f8;
}

.people-page .person-tag{
  background:#0a2b42;
  border-color:rgba(70,144,197,.50);
  color:#6dbbff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.people-page .person-tag.rank{
  background:#123329;
  border-color:rgba(111,184,55,.42);
  color:#91e13b;
}

.people-page .person-tag.points{
  background:#27351b;
  border-color:rgba(147,191,65,.40);
  color:#a8ea4b;
}

.people-page .person-tag.role{
  background:#302b1c;
  border-color:rgba(217,169,61,.42);
  color:#f0b83f;
}

.people-page .person-link{
  color:#fff;
}

.people-page .person-link a{
  color:#fff;
}

.people-page .person-link a:hover{
  color:#71bfff;
}

.people-page .boat-card{
  background:
    radial-gradient(circle at 82% 18%,rgba(62,146,187,.20),transparent 36%),
    linear-gradient(110deg,#0a2a3e 0%,#061b2a 62%,#051620 100%);
  border-color:rgba(96,162,205,.36);
}

.people-page .boat-card .person-card-top{
  background:rgba(255,255,255,.018);
  border-color:rgba(103,167,207,.22);
}

.people-page .boat-card .person-tag{
  background:#0b2b3e;
  border-color:rgba(96,162,205,.36);
  color:#dcecf4;
}

.people-page .empty{
  background:#071c2a;
  border-color:rgba(96,162,205,.34);
  color:#cddbe3;
}

