/* About (prefix abt-). Family rules: fam-hub.css.
   The design is a 1672px-wide composition with a narrower content column (~76% of the width). */
.abt-wrap { width: min(100% - 2 * var(--gutter), max(76.4vw, 940px)); margin-inline: auto; }

/* Hero */
.abt-hero { --hero-h: 9.1rem; --hero-pos: 50% 55%; --hub-h1: 1.95rem; --hub-lead: .86rem; --hub-lead-w: 31rem; --hero-copy: 46rem; }
.abt-hero .hero__bg { left: 24%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%); mask-image: linear-gradient(90deg, transparent 0, #000 22%); }
.abt-hero::before { --hero-fade: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 42%, rgba(255,255,255,.45) 55%, rgba(255,255,255,0) 64%); }
.abt-hero .hero__inner { padding-inline-start: 0; padding-block: .3rem .5rem; }
.abt-hero .breadcrumb { font-size: .74rem; margin-bottom: .05rem; }
.abt-hero .hero__title { margin-bottom: .1em; }
.abt-hero .hero__lead { line-height: 1.24; }
.abt-hero .hub-feats { gap: .4rem .85rem; margin-top: .45rem; }
.abt-hero .hub-feats li { font-size: max(.6rem, 16px) /* rt-1019 */; gap: .35rem; }
.abt-hero .hub-feats strong { font-size: .64rem; font-weight: 700; }
.abt-hero .hub-feats .ib { --s: 1.7rem; }
.abt-note { right: 3.5%; top: .9rem; font-size: 1.15rem; transform: rotate(-6deg); }

/* Section headings (the design's H2s are ~16px at 1280; body copy keeps the site's readable floor) */
.abt-mission h2, .abt-founder__copy h2 { font-size: 1.12rem; line-height: 1.1; margin: 0 0 .2rem; letter-spacing: -.02em; }

/* Mission row: photo | copy | quote card, all three the photo's height */
.abt-mission { display: grid; grid-template-columns: 17rem minmax(0, 1fr) 16.6rem; gap: 1rem 1.3rem; align-items: center; padding-block: .45rem; }
.abt-mission__img { width: 100%; aspect-ratio: 2.72 / 1; object-fit: cover; border-radius: 6px; }
.abt-mission__copy p { margin: 0; font-size: max(.74rem, 16px) /* rt-1019 */; line-height: 1.34; color: #33415a; }
.abt-quote { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 .55rem; padding: .55rem .8rem .5rem; background: #f1f8f2; border-radius: var(--radius); }
.abt-quote__mark { width: 1.2rem; height: 1.2rem; color: var(--green-600); grid-row: span 2; }
.abt-quote blockquote { margin: 0; font-style: italic; font-size: max(.64rem, 16px) /* rt-1019 */; line-height: 1.32; color: #33415a; }
.abt-quote blockquote p { margin: 0; }
.abt-quote figcaption { margin-top: .2rem; text-align: right; font-size: .6rem; line-height: 1.2; font-weight: 700; color: var(--ink); }

/* Light bands + section heads */
.abt-band { background: linear-gradient(180deg, #f1f6fd 0%, #f5f9fd 100%); padding-block: .3rem .35rem; }
.abt-band .hub-head, .abt-sec .hub-head { margin-bottom: .35rem; }
.abt-band .hub-head h2, .abt-sec .hub-head h2 { font-size: 1.12rem; line-height: 1.1; }
.abt-band .hub-head p, .abt-sec .hub-head p { font-size: max(.68rem, 16px) /* rt-1019 */; line-height: 1.3; margin-top: .05rem; }

/* What we help with: 6 compact cards (icon square left, title, 2-3 lines, link) */
.abt-help { --gap: .45rem; }
.abt-help .hub-cat { gap: .5rem; padding: .4rem .35rem .35rem .45rem; border-radius: 6px; line-height: 1.3; }
.abt-help .ib { --s: 2.05rem; }
.abt-help h3 { font-size: .7rem; line-height: 1.15; margin: 0 0 .1rem; }
.abt-help p { font-size: max(.6rem, 16px) /* rt-1019 */; line-height: 1.3; margin-bottom: .15rem; }
.abt-help .link-arrow { display: flex; width: fit-content; font-size: .62rem; line-height: 1.15; }

/* Values and trust rows: compact one-row cards */
.abt-sec { padding-block: .3rem; }
.abt-values, .abt-trust { --gap: .45rem; }
.abt-value { gap: .5rem; padding: .4rem .45rem; align-items: center; }
.abt-value .ib { --s: 2.15rem; }
.abt-value h3 { font-size: .7rem; line-height: 1.15; margin: 0 0 .08rem; letter-spacing: -.01em; }
.abt-value p { font-size: max(.6rem, 16px) /* rt-1019 */; line-height: 1.3; }
.abt-trust .abt-value { padding-block: .25rem; }
.abt-trust .abt-value .ib { --s: 1.95rem; }
.abt-sec--trust .hub-head p a { color: var(--blue-600); }

/* Founder: photo | copy + facts | promise card */
.abt-band--founder { padding-block: .4rem; }
.abt-founder { display: grid; grid-template-columns: 20.2rem minmax(0, 1fr) 15.6rem; gap: 1rem 1.05rem; align-items: center; }
.abt-founder__media { position: relative; margin: 0; border-radius: 6px; overflow: hidden; }
.abt-founder__media img { width: 100%; aspect-ratio: 2.84 / 1; object-fit: cover; }
.abt-founder__note { position: absolute; right: 6%; top: 50%; width: 38%; transform: translateY(-50%) rotate(-6deg); margin: 0; font-family: var(--font-script); font-weight: 600; font-size: 1.06rem; line-height: 1.08; color: var(--ink); text-align: center; text-shadow: 0 0 10px rgba(255,255,255,.9); }
.abt-founder__note::after { content: ""; display: block; width: 60%; height: 2px; margin: .25rem auto 0; background: var(--green-500); }
.abt-founder__copy p { font-size: max(.68rem, 16px) /* rt-1019 */; line-height: 1.32; margin: 0 0 .35rem; color: #33415a; }
.abt-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem .7rem; }
.abt-facts .info { gap: .4rem; align-items: center; }
.abt-facts .ib { --s: 1.95rem; }
.abt-facts h3 { font-size: .64rem; line-height: 1.15; margin: 0; }
.abt-facts p { font-size: max(.6rem, 16px) /* rt-1019 */; line-height: 1.25; }
.abt-promise { background: #edf3fb; border-radius: var(--radius); padding: .5rem .8rem .35rem; }
.abt-promise h2 { font-size: .86rem; line-height: 1.15; margin: 0 0 .2rem; }
.abt-promise p { font-size: max(.6rem, 16px) /* rt-1019 */; line-height: 1.3; margin: 0; color: #33415a; }
.abt-promise .abt-promise__sign { margin-top: .05rem; text-align: right; font-family: var(--font-script); font-size: max(.95rem, 16px) /* rt-1019 */; line-height: 1.1; color: var(--ink); }

/* CTA band (contained) */
.abt-cta { padding-block: .3rem .55rem; }
.abt-cta__band { border-radius: 6px; }
.abt-cta__band .cta-band__inner { justify-content: space-between; padding: .4rem 1.6rem; }
.abt-cta__band h2 { font-size: 1.04rem; line-height: 1.12; margin-bottom: .1rem; }
.abt-cta__band p { font-size: max(.66rem, 16px) /* rt-1019 */; line-height: 1.3; max-width: 27rem; }
.abt-cta__band .btn { min-height: 2.15rem; font-size: .8rem; padding-inline: 1.1rem; }
.abt-cta__kit { min-width: 15.5rem; }
.abt-fine { text-align: center; margin-top: .3rem; font-size: max(.62rem, 14px) /* rt-1019 */; }

@media (max-width: 1100px) {
  .abt-mission { grid-template-columns: 14rem minmax(0, 1fr); }
  .abt-quote { grid-column: 1 / -1; }
  .abt-founder { grid-template-columns: 16rem minmax(0, 1fr); }
  .abt-promise { grid-column: 1 / -1; }
  .abt-values { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .abt-note { display: none; }
}
@media (max-width: 760px) {
  .abt-hero { --hero-mobile-h: 170px; --hub-h1: 1.9rem; }
  .abt-hero .hero__bg { left: 0; -webkit-mask-image: none; mask-image: none; }
  .abt-hero .hero__inner { padding-block: 1rem 1.25rem; }
  .abt-hero .hero__lead { font-size: max(1rem, 16px) /* rt-1019 */; }
  .abt-hero .hub-feats li { font-size: max(.8rem, 16px) /* rt-1019 */; }
  .abt-hero .hub-feats strong { font-size: .85rem; }
  .abt-hero .hub-feats .ib { --s: 2.2rem; }
  .abt-mission, .abt-founder { grid-template-columns: minmax(0, 1fr); }
  .abt-mission__copy p, .abt-founder__copy p { font-size: max(.95rem, 16px) /* rt-1019 */; }
  .abt-quote blockquote, .abt-promise p { font-size: max(.9rem, 16px) /* rt-1019 */; }
  .abt-quote figcaption { font-size: .8rem; }
  .abt-band .hub-head p, .abt-sec .hub-head p { font-size: max(.9rem, 16px) /* rt-1019 */; }
  .abt-help h3, .abt-value h3, .abt-facts h3 { font-size: .92rem; }
  .abt-help p, .abt-value p, .abt-facts p, .abt-help .link-arrow { font-size: max(.84rem, 16px) /* rt-1019 */; }
  .abt-values, .abt-trust { grid-template-columns: minmax(0, 1fr); }
  .abt-facts { grid-template-columns: minmax(0, 1fr); }
  .abt-promise h2 { font-size: 1.05rem; }
  .abt-cta__band .cta-band__inner { padding: 1.1rem; }
  .abt-cta__band p { font-size: max(.88rem, 16px) /* rt-1019 */; }
  .abt-cta__band .btn-row, .abt-cta__band .btn { width: 100%; }
  .abt-cta__band .btn { min-height: 2.75rem; }
  .abt-cta__kit { min-width: 0; }
  .abt-fine { font-size: max(.8rem, 14px) /* rt-1019 */; }
}
@media (max-width: 640px) {
  .abt-help .hub-cat { flex-direction: column; }
}
