/* ============================================================================
   About page
   Markup: pages/about.php
   Loaded only on this page (see the route's "css" key in config.php).
   Shared blocks such as buttons, heroes and closing CTAs live in components.css.
   ========================================================================= */

/* Founder */
.rp-section.rp-founder{ background:#F5F2EB; padding-block:clamp(80px,10vw,130px) clamp(64px,7vw,95px); }
.rp-founder .rp-split{ max-width:952px; margin-inline:auto; gap:clamp(32px,4vw,48px); }
.rp-figure.rp-founder__figure{
  aspect-ratio:452/603;
  padding:clamp(6px,.8vw,10px);
  background:#E6E4E1;
  border:1px solid #D4D2CE;
}
.rp-founder__figure img{ width:100%; height:100%; object-fit:cover; }
.rp-founder__body .rp-eyebrow{
  font-size:15px;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--rp-bronze);
  margin-bottom:10px;
}
.rp-founder__name{
  font-size:clamp(1.8rem,2.8vw,2.25rem);
  font-weight:400;
  letter-spacing:0;
  color:var(--rp-ink-blue);
  margin-bottom:0;
}
.rp-founder__facts{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  margin:36px 0 54px;
  padding:28px 0;
  border-block:1px solid #D6D3CC;
}
.rp-founder__facts dt{
  font-family:var(--rp-serif);
  font-size:18px;
  line-height:1.3;
  font-variant-numeric:lining-nums;
  color:var(--rp-ink-blue);
}
.rp-founder__facts dd{
  margin:2px 0 0;
  font-size:15px;
  letter-spacing:-.01em;
  text-transform:uppercase;
  color:#4B5563;
}
.rp-founder__quote{
  margin:0 0 44px;
  padding:0 0 0 26px;
  border-left:3px solid var(--rp-gold-bright);
  font-family:var(--rp-sans);
  font-size:clamp(1rem,1.4vw,1.125rem);
  font-style:normal;
  line-height:1.6;
  color:#374151;
}
.rp-founder__bio{ font-size:16px; line-height:1.65; color:#4B5563; margin:0; }

/* Navy sections with the lighter diagonal */
.rp-section.rp-diagonal{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#0A1938;
}
.rp-diagonal::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:#1C2A47;
  -webkit-clip-path:polygon(98% 0,100% 0,100% 100%,26% 100%);
          clip-path:polygon(98% 0,100% 0,100% 100%,26% 100%);
}

/* Vision and mission */
.rp-section.rp-purpose{ padding-block:clamp(80px,9vw,116px) clamp(64px,6vw,76px); }
.rp-purpose__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
}
.rp-purpose__item{ padding-block:40px 32px; }
.rp-purpose__item:first-child{ padding-right:clamp(32px,5vw,70px); border-right:1px solid rgba(255,255,255,.75); }
.rp-purpose__item:last-child{ padding-left:clamp(32px,8.75vw,112px); }
.rp-purpose__eyebrow{
  font-family:var(--rp-serif);
  font-size:15px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--rp-gold-bright);
  margin:0 0 24px;
}
.rp-purpose__title{
  font-size:clamp(1.7rem,2.8vw,2.25rem);
  font-weight:400;
  line-height:1.06;
  letter-spacing:0;
  color:#fff;
  margin-bottom:34px;
}
.rp-purpose__text{ font-size:16px; line-height:1.5; color:rgba(255,255,255,.92); max-width:460px; margin:0; }

/* Principles */
.rp-section.rp-principles{
  background:#F9F8F6;
  border-bottom:1px solid #D1D5DB;
  padding-block:clamp(56px,6vw,62px) clamp(80px,9vw,100px);
}
.rp-principles__header{ margin-bottom:clamp(48px,6vw,78px); }
.rp-principles__header .rp-heading{
  font-size:clamp(1.8rem,2.8vw,2.15rem);
  font-weight:400;
  color:var(--rp-ink-blue);
}
.rp-principles__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(24px,2.4vw,30px);
}
.rp-principles__title{
  display:inline-block;
  font-family:var(--rp-sans);
  font-size:16px;
  font-weight:400;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#4B5563;
  padding-bottom:8px;
  border-bottom:2px solid var(--rp-gold-bright);
  margin:0 0 26px;
}
.rp-principles__text{ font-size:16px; line-height:1.5; color:#374151; margin:0; }

/* Methodology */
.rp-section.rp-method{ background:#F9F8F6; padding-block:clamp(56px,6vw,70px) clamp(120px,16vw,230px); }
.rp-method__header{ margin-bottom:clamp(40px,5vw,70px); }
.rp-method__header .rp-eyebrow{ font-size:15px; font-weight:500; letter-spacing:.08em; color:var(--rp-bronze); margin:0; }
.rp-method__steps{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(24px,2.4vw,40px);
  list-style:none;
  margin:0;
  padding:0;
}
.rp-method__no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#000;
  font-family:var(--rp-serif);
  font-size:24px;
  font-variant-numeric:lining-nums;
  color:#fff;
}
.rp-method__title{
  font-size:18px;
  font-weight:400;
  letter-spacing:0;
  color:var(--rp-ink-blue);
  margin:22px 0 10px;
}
.rp-method__text{ font-size:16px; line-height:1.5; color:#4B5563; margin:0; }

/* Brand promise */
.rp-section.rp-manifesto{ padding-block:clamp(110px,13vw,160px) clamp(110px,12vw,150px); }
.rp-manifesto::before{
  -webkit-clip-path:polygon(96% 0,100% 0,100% 100%,12% 100%);
          clip-path:polygon(96% 0,100% 0,100% 100%,12% 100%);
}
.rp-manifesto__header{ max-width:760px; }
.rp-manifesto__header .rp-heading{
  font-size:clamp(2.4rem,5vw,4rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:0;
  color:#fff;
  margin-bottom:.75em;
}
.rp-manifesto__header .rp-lead{ max-width:620px; font-size:clamp(1rem,1.3vw,1.06rem); line-height:1.7; color:#fff; }


@media (max-width:900px){
  .rp-purpose__grid{ grid-template-columns:1fr; }
  .rp-purpose__item:first-child{ padding-right:0; border-right:0; border-bottom:1px solid rgba(255,255,255,.4); }
  .rp-purpose__item:last-child{ padding-left:0; }
  .rp-principles__grid,
  .rp-method__steps{ grid-template-columns:repeat(2, minmax(0,1fr)); row-gap:44px; }
}
@media (max-width:560px){
  .rp-founder__facts{ grid-template-columns:1fr; }
  .rp-principles__grid,
  .rp-method__steps{ grid-template-columns:1fr; }
}
