/* O kancelarii — page-specific layout */
.about-hero {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 15% 15%, #115044 0, #073b33 38%, #052a25 100%);
  border-bottom: 7px solid #c59b5c;
}
.about-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .18;
  background-image: linear-gradient(118deg, transparent 0 57%, rgba(214, 177, 114, .16) 57.2% 57.4%, transparent 57.6%);
}
.about-hero-glow {
  position: absolute;
  width: 720px;
  height: 720px;
  right: -220px;
  top: -310px;
  border: 1px solid rgba(216, 181, 121, .26);
  border-radius: 50%;
  box-shadow: 0 0 0 95px rgba(216, 181, 121, .035), 0 0 0 190px rgba(216, 181, 121, .025);
}
.about-hero-grid {
  position: relative;
  z-index: 1;
  min-height: 620px;
  display: grid;
  grid-template-columns: 1.05fr .82fr;
  align-items: center;
  gap: 90px;
}
.about-hero-copy { padding: 70px 0 82px; }
.about-hero-copy .eyebrow { color: var(--gold-light); }
.about-hero-copy .section-line { margin: 11px 0 28px; width: 62px; }
.about-hero-copy h1 {
  max-width: 720px;
  margin-bottom: 27px;
  color: #fbf8ef;
  font-size: clamp(52px, 5.2vw, 76px);
  letter-spacing: -.025em;
}
.about-hero-copy > p:last-child {
  max-width: 620px;
  margin: 0;
  color: #d8ded8;
  font-size: 17px;
  line-height: 1.75;
}
.about-hero-portrait {
  align-self: end;
  height: 550px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(214, 177, 114, .5);
  border-bottom: 0;
  border-radius: 52% 52% 0 0 / 29% 29% 0 0;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}
.about-hero-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 23%; }

.about-intro { padding: 105px 0 95px; background: #f8f5ee; }
.about-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 105px; align-items: start; }
.about-intro-heading { padding-right: 40px; }
.about-intro-heading .section-line { margin: 12px 0 24px; }
.about-intro-heading h2 { margin: 0; color: #33433f; font-size: clamp(40px, 4vw, 58px); }
.about-intro-copy { padding-top: 30px; }
.about-intro-copy p { color: var(--muted); font-size: 15px; line-height: 1.8; }
.about-intro-copy .lead { color: #40504c; font: 26px/1.52 var(--serif); }

.people-section { padding: 98px 0 112px; background: #fffdf9; }
.people-section .section-heading { margin-bottom: 70px; }
.people-section .section-heading .eyebrow { margin-bottom: 4px; }
.people-section .section-heading h2 { color: #485652; font-size: 30px; }
.person-profile {
  display: grid;
  grid-template-columns: minmax(330px, .82fr) 1.18fr;
  gap: 92px;
  align-items: center;
}
.person-profile + .person-profile { margin-top: 115px; padding-top: 115px; border-top: 1px solid var(--line); }
.person-profile-reverse .person-photo { grid-column: 2; }
.person-profile-reverse .person-copy { grid-row: 1; grid-column: 1; }
.person-photo {
  position: relative;
  height: 610px;
  overflow: hidden;
  border-radius: 180px 180px 0 0;
  box-shadow: 0 24px 55px rgba(44, 48, 38, .14);
}
.person-photo::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(197, 155, 92, .45); pointer-events: none; }
.person-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; transition: transform .8s ease; }
.person-profile:hover .person-photo img { transform: scale(1.018); }
.person-copy { max-width: 625px; }
.person-role { margin-bottom: 8px; color: var(--gold); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.person-copy h2 { margin-bottom: 18px; color: #31413e; font-size: clamp(40px, 4vw, 55px); }
.person-copy .section-line { margin-bottom: 27px; width: 58px; }
.person-copy > p:not(.person-role) { margin-bottom: 17px; color: #68716e; font-size: 14px; line-height: 1.78; }

.team-candid { position: relative; min-height: 700px; overflow: hidden; background: #e9dfd0; }
.team-candid-photo { position: absolute; inset: 0; }
.team-candid-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5, 35, 31, .9) 0, rgba(5, 35, 31, .72) 35%, rgba(5, 35, 31, .08) 70%, transparent 100%); }
.team-candid-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.team-candid-card-wrap { position: relative; z-index: 1; min-height: 700px; display: flex; align-items: center; }
.team-candid-card { width: min(545px, 48%); padding: 55px 58px 53px; color: #fff; background: rgba(6, 47, 41, .93); border: 1px solid rgba(215, 178, 116, .5); box-shadow: 0 24px 70px rgba(0, 0, 0, .2); }
.team-candid-card .eyebrow { color: var(--gold-light); }
.team-candid-card .section-line { margin: 12px 0 25px; }
.team-candid-card h2 { margin-bottom: 22px; color: #faf5e8; font-size: 39px; }
.team-candid-card > p:last-child { margin: 0; color: #d7ddd7; font-size: 14px; line-height: 1.75; }
.about-values { padding-top: 90px; padding-bottom: 90px; }

@media (max-width: 1120px) {
  .about-hero-grid { gap: 55px; }
  .person-profile { gap: 58px; }
  .person-photo { height: 570px; }
}

@media (max-width: 900px) {
  .about-hero { min-height: 570px; }
  .about-hero-grid { min-height: 570px; grid-template-columns: 1fr .72fr; gap: 35px; }
  .about-hero-copy { padding-block: 65px; }
  .about-hero-copy h1 { font-size: 52px; }
  .about-hero-portrait { height: 495px; }
  .about-intro-grid { gap: 55px; }
  .person-profile { grid-template-columns: .82fr 1.18fr; gap: 45px; }
  .person-photo { height: 520px; border-radius: 140px 140px 0 0; }
  .person-copy h2 { font-size: 40px; }
  .team-candid { min-height: 620px; }
  .team-candid-card-wrap { min-height: 620px; }
  .team-candid-card { width: 58%; padding: 44px; }
}

@media (max-width: 680px) {
  .about-hero { min-height: auto; padding-top: 0; }
  .about-hero-grid { width: 100%; min-height: 0; grid-template-columns: 1fr; gap: 0; }
  .about-hero-copy { width: min(100% - 36px, 560px); margin-inline: auto; padding: 65px 0 55px; }
  .about-hero-copy h1 { font-size: clamp(42px, 12vw, 54px); }
  .about-hero-copy > p:last-child { font-size: 15px; }
  .about-hero-portrait { width: calc(100% - 36px); height: min(132vw, 620px); margin-inline: auto; border-radius: 50% 50% 0 0 / 23% 23% 0 0; }
  .about-intro { padding: 72px 0 68px; }
  .about-intro-grid { grid-template-columns: 1fr; gap: 25px; }
  .about-intro-heading { padding: 0; }
  .about-intro-heading h2 { font-size: 39px; }
  .about-intro-copy { padding-top: 0; }
  .about-intro-copy .lead { font-size: 23px; }
  .people-section { padding: 70px 0 78px; }
  .people-section .section-heading { margin-bottom: 48px; }
  .person-profile { grid-template-columns: 1fr; gap: 42px; }
  .person-profile + .person-profile { margin-top: 75px; padding-top: 75px; }
  .person-profile-reverse .person-photo,
  .person-profile-reverse .person-copy { grid-column: 1; grid-row: auto; }
  .person-photo { height: min(132vw, 620px); border-radius: 50% 50% 0 0 / 22% 22% 0 0; }
  .person-copy h2 { font-size: 39px; }
  .team-candid { min-height: auto; background: #062f29; }
  .team-candid-photo { position: relative; height: 360px; }
  .team-candid-photo::after { background: linear-gradient(0deg, rgba(6, 47, 41, .48), transparent 65%); }
  .team-candid-card-wrap { width: 100%; min-height: 0; }
  .team-candid-card { width: 100%; padding: 52px 18px 60px; border: 0; box-shadow: none; }
  .team-candid-card h2 { font-size: 35px; }
  .about-values { padding: 65px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .person-photo img { transition: none; }
}
