.about-page { background:#FFFFFF; color:#11110f; }
.about-page main { overflow:hidden; }
.about-principles { padding:clamp(154px,14vw,190px) 0 clamp(84px,10vw,132px); background:#FFFFFF; }
.about-principles-heading { display:flex; align-items:center; justify-content:flex-start; text-align:left; margin-bottom:clamp(62px,8vw,104px); }
.about-principles-heading h2 { max-width:880px; margin:0; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:clamp(38px,3.65vw,56px); font-weight:700; letter-spacing:-.04em; line-height:.96; text-transform:uppercase; }
.about-principles-heading h2 span { display:block; color:#FFC107; font-weight:400; letter-spacing:-.035em; }
.about-principles-list { border-top:1px solid #c9c6be; }
.about-principle { display:grid; grid-template-columns:minmax(150px,.42fr) minmax(250px,.68fr) minmax(280px,.9fr); gap:clamp(28px,5vw,78px); align-items:start; padding:clamp(42px,5vw,68px) 0; border-bottom:1px solid #c9c6be; }
.about-principle>span { padding-top:8px; color:#a67700; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:12px; font-weight:700; letter-spacing:.22em; }
.about-principle h3 { margin:0; font-family:'Montserrat',Arial,Helvetica,sans-serif; font-size:clamp(30px,3.1vw,46px); font-weight:600; letter-spacing:-.045em; line-height:1.02; }
.about-principle p { max-width:520px; margin:3px 0 0; color:#625f58; font-size:16px; line-height:1.75; }
.about-team { width:100%; height:auto; min-height:0; max-height:none; padding:clamp(28px,4svh,44px) max(24px,calc((100vw - 1180px) / 2)); background:#FFFFFF; }
.about-team .team-grid { min-height:0; flex:0 0 auto; width:min(100%,860px); margin-inline:auto; gap:24px; }
.about-team .team-photo { min-height:0; height:clamp(180px,calc(100svh - 350px),360px); flex:0 0 auto; aspect-ratio:auto; }
.about-team .team-intro { margin-bottom:24px; }
.about-team .team-intro h2 { margin:0; font-size:clamp(38px,3.65vw,56px); }
.about-team .team-meta { padding-top:12px; }
@media (max-width:820px) {
  .about-principles-heading h2 { font-size:clamp(38px,7vw,52px); }
  .about-principle { grid-template-columns:130px 1fr; }
  .about-principle p { grid-column:2; }
  .about-team { min-height:auto; }
}
@media (max-width:540px) {
  .about-principles { padding:122px 0 72px; }
  .about-principles-heading { margin-bottom:50px; }
  .about-principles-heading h2 { font-size:clamp(34px,9.6vw,44px); line-height:.98; }
  .about-principle { grid-template-columns:1fr; gap:18px; padding-block:38px; }
  .about-principle>span { padding:0; }
  .about-principle p { grid-column:auto; }
  .about-team { padding:30px 15px; }
  .about-team .team-intro h2 { font-size:clamp(30px,8vw,40px); }
  .about-team .team-intro>p { margin-top:14px; font-size:13px; }
  .about-team .team-grid { min-height:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .about-team .team-photo { min-height:0; height:clamp(160px,32svh,250px); border-radius:16px; }
  .about-team .team-meta h3 { font-size:17px; }
  .about-team .team-meta p { font-size:9px; line-height:1.5; }
}
@media (prefers-reduced-motion:reduce) {
  .about-page .team-photo img { transition:filter 180ms ease; }
  .about-page .team-member:hover .team-photo img { transform:none; }
}

/* One continuous background with a subtle divider before the team. */
.about-principle:last-child { border-bottom:0; }
.about-team { position:relative; }
.about-team::before { content:""; position:absolute; top:0; left:max(24px,calc((100vw - 1180px) / 2)); right:max(24px,calc((100vw - 1180px) / 2)); height:1px; background:#c9c6be; }
@media (max-width:540px) {
  .about-team::before { left:15px; right:15px; }
}
