.brand {
  display: flex;
  align-items: center;
  gap: 22px;
}

.brand span {
  color: var(--copper2);
  font: 500 17px "Playfair Display", serif;
  white-space: nowrap;
}

.trust-logo {
  width: 54px;
  height: 54px;
  border: 1px solid var(--copper);
  border-radius: 50%;
  object-fit: cover;
}

.benefit-card-featured {
  background: linear-gradient(180deg, rgba(185, 137, 111, 0.16), rgba(185, 137, 111, 0.04));
  box-shadow: inset 0 3px 0 var(--copper);
}

@media (max-width: 900px) {
  .brand { gap: 14px; }
  .brand span { font-size: 14px; }
  .brand > img { width: 145px; height: 48px; }
}

@media (max-width: 560px) {
  .header { padding: 0 4vw; }
  .brand { gap: 10px; }
  .brand span { font-size: 12px; }
  .brand > img { width: 118px; height: 42px; }
}

.portal { padding: 110px 7vw; background: var(--cream); display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; }
.portal-heading h2 { font-size: clamp(42px, 5vw, 68px); color: var(--navy); }
.portal-heading > p:last-child { max-width: 440px; color: var(--muted); line-height: 1.8; }
.portal-card { padding: 34px; background: var(--navy); color: #fff; box-shadow: 0 20px 50px #0d142422; }
.portal-card h3 { margin: 0 0 24px; font: 27px "Playfair Display", serif; }
.portal-card label { display: block; margin: 18px 0; color: #c3c6ce; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.portal-card input { width: 100%; margin-top: 9px; padding: 12px 0; border: 0; border-bottom: 1px solid #ffffff3d; background: transparent; color: #fff; outline: none; font: 14px Montserrat; }
.portal-message { min-height: 20px; color: var(--copper2); font-size: 13px; }
.portal-dashboard { grid-column: 1/-1; }
.portal-toolbar, .dependents-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.portal-toolbar h3, .dependents-head h3 { margin: 3px 0 22px; }
.membership-card { display: flex; flex-direction: column; gap: 8px; margin: 8px 0 34px; padding: 24px; border: 1px solid #ffffff2b; background: linear-gradient(135deg, #1c2538, #24334c); }
.membership-card strong { font: 31px "Playfair Display", serif; }
.membership-card span { color: var(--copper2); font-weight: 700; letter-spacing: .08em; }
.membership-card small { color: #c3c6ce; }
.dependent-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 0; border-top: 1px solid #ffffff1c; }
.dependent-row strong, .dependent-row span { display: block; }
.dependent-row span { margin-top: 5px; color: #aeb3bf; font-size: 13px; }
.dependent-row button { margin-left: 8px; padding: 7px 10px; border: 1px solid #ffffff3d; background: transparent; color: var(--copper2); cursor: pointer; }
.portal-muted { color: #aeb3bf; font-size: 13px; }
.admin-panel { margin-top: 38px; padding-top: 30px; border-top: 1px solid #ffffff2b; }
@media (max-width: 800px) { .portal { grid-template-columns: 1fr; gap: 36px; } .portal-dashboard { grid-column: auto; } }

.privacy-page {
  min-height: 100vh;
  background: var(--paper);
}

.privacy-header {
  position: static;
}

.privacy-main {
  max-width: 900px;
  margin: 0 auto;
  padding: 80px 7vw 110px;
}

.privacy-main h1 {
  color: var(--navy);
  font-size: clamp(42px, 6vw, 70px);
  max-width: 760px;
}

.privacy-intro {
  max-width: 760px;
  font-size: 18px;
  line-height: 1.75;
  color: var(--muted);
  margin-bottom: 50px;
}

.privacy-section {
  padding: 28px 0;
  border-top: 1px solid #17203322;
}

.privacy-section h2 {
  color: var(--navy);
  font-size: 29px;
  margin: 0 0 14px;
}

.privacy-section p,
.privacy-section li {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
}

.privacy-section ul {
  padding-left: 22px;
}

.privacy-contact {
  margin-top: 18px;
}

@media (max-width: 560px) {
  .privacy-header .brand span { display: none; }
  .privacy-main { padding-top: 55px; }
  .privacy-intro { font-size: 16px; }
}
.partner-directory{padding:110px 7vw;background:#f5f1eb;color:var(--navy)}.partner-directory .section-head{margin-bottom:45px}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.partner-grid article{padding:28px;background:#fff;border:1px solid #e3ddd5;min-height:205px}.partner-grid article>span{font-size:11px;letter-spacing:.15em;color:var(--copper);font-weight:700}.partner-grid h3{font:26px 'Playfair Display',serif;margin:17px 0 10px}.partner-grid p{color:var(--muted);line-height:1.6;margin:0}.partner-grid strong{display:block;margin-top:20px;color:#9d5d3e;font-size:13px}@media(max-width:800px){.partner-grid{grid-template-columns:1fr}.partner-directory{padding:80px 7vw}}
.partner-contact{display:block;margin-top:10px;color:var(--muted);font-size:12px}
.contact-channels{display:grid;gap:32px;min-width:0}
.contact-channels h3{font:28px "Playfair Display",serif;margin:0 0 12px}
.contact-channels p,.contact-email{font-size:16px;line-height:1.7}
.contact-channels .contact-note{font-size:14px;color:#c3c6ce;margin:14px 0 0}
.contact-channels>div+div{border-top:1px solid #ffffff36;padding-top:28px}
.contact-email{color:var(--copper2);text-decoration:underline;overflow-wrap:anywhere}
.contact-channels .button{max-width:100%;white-space:normal;text-align:center}
.contact-channels a:focus-visible{outline:3px solid var(--copper2);outline-offset:5px}
