/* About — open notes, person, and standards */
.about-hero { position: relative; overflow: hidden; background: var(--fine); }
.about-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(to right,transparent calc(100% - 1px),var(--line) 100%); background-size: 25% 100%; opacity: .35; pointer-events: none; }
.about-hero-inner { position: relative; }
.about-ruler, .about-hero-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: .63rem; font-weight: 800; letter-spacing: .17em; color: var(--accent-text); }
.about-ruler { padding: 17px 0 14px; border-top: 3px solid var(--accent); border-bottom: 1px solid var(--line); }
.about-hero-foot { padding: 17px 0 21px; border-top: 1px solid var(--line); }
.about-hero-foot span:last-child { color: var(--muted); }
.about-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(400px,.95fr); gap: clamp(70px,8vw,135px); align-items: start; padding: clamp(77px,7vw,105px) 0 clamp(90px,9vw,130px); }
.about-intro h1 { max-width: 10.7ch; font-size: clamp(4.3rem,6.5vw,7.35rem); line-height: .98; margin-bottom: 40px; }
.about-intro > p:not(.eyebrow) { max-width: 575px; color: var(--muted); font-size: 1.12rem; line-height: 1.75; margin-bottom: 35px; }
.about-intro .text-link { color: var(--accent-text); }
.decision-note { position: relative; margin: 23px 15px 0 0; color: #f8faf7; background: #172620; box-shadow: 22px 22px 0 #5ed073, 0 24px 50px rgba(0,0,0,.15); transform: rotate(-1.2deg); }
.decision-note::before { content: ""; position: absolute; z-index: -1; width: 42%; height: 27px; left: -19px; top: -21px; transform: rotate(-4deg); background: #8ee8a0; opacity: .85; }
.note-top { display: flex; justify-content: space-between; gap: 14px; padding: 20px 23px; border-bottom: 1px solid #4b6254; color: #a7e9b4; font-size: .62rem; font-weight: 800; letter-spacing: .16em; }
.note-body { padding: 35px 32px 23px; }
.note-overline { color: #88e49b; font: 400 clamp(2.2rem,3vw,3.4rem)/1.03 Georgia,serif; letter-spacing: -.05em; margin-bottom: 36px; }
.note-line { display: grid; grid-template-columns: 115px 1fr; gap: 16px; padding: 21px 0 24px; border-top: 1px solid #526659; }
.note-line span { color: #9ce9a9; font-size: .62rem; font-weight: 800; letter-spacing: .13em; line-height: 1.5; }
.note-line p { font-size: .94rem; line-height: 1.55; margin: 0; color: #edf5ef; }
.note-bottom { display: flex; justify-content: space-between; gap: 8px; padding: 20px 24px; border-top: 1px solid #526659; font-size: .53rem; font-weight: 800; letter-spacing: .1em; color: #9ee5ad; }

.about-founder { background: var(--paper); }
.founder-layout { display: grid; grid-template-columns: .84fr 1.16fr; align-items: stretch; gap: clamp(65px,9vw,150px); }
.founder-portrait { width: min(100%,440px); margin: 0; }
.portrait-media { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: #172620; }
.portrait-media::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.15); pointer-events: none; }
.portrait-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.founder-portrait figcaption { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 7px 18px; border-top: 3px solid var(--accent); border-bottom: 1px solid var(--line); padding: 18px 0 16px; }
.founder-portrait figcaption strong { font-size: 1.03rem; letter-spacing: -.02em; }
.founder-portrait figcaption span { color: var(--muted); font-size: .7rem; letter-spacing: .07em; }
.founder-story { align-self: center; max-width: 670px; padding: 33px 0; }
.founder-story h2 { max-width: 630px; margin-bottom: 43px; }
.founder-story > p:not(.eyebrow) { color: var(--muted); font-size: 1.07rem; line-height: 1.78; margin-bottom: 24px; }
.founder-story > p:last-child { margin-bottom: 0; }

.about-standards { background: var(--bg); }
.standards-heading { display: grid; grid-template-columns: 1.1fr .55fr; gap: 80px; align-items: end; margin-bottom: 67px; }
.standards-heading h2 { max-width: 730px; margin-bottom: 0; }
.standards-heading > p { max-width: 300px; color: var(--muted); font-size: 1rem; margin-bottom: 8px; }
.standards-list { border-top: 1px solid var(--line); }
.standard-row { display: grid; grid-template-columns: 73px minmax(180px,.6fr) minmax(300px,1fr) minmax(160px,.4fr); gap: clamp(15px,3vw,50px); align-items: start; min-height: 180px; padding: 38px 10px 42px 0; border-bottom: 1px solid var(--line); transition: background .25s ease, padding-left .25s ease; }
.standard-row:hover { background: var(--accent-wash); padding-left: 14px; }
.standard-num { font: 400 2.8rem/1 Georgia,serif; letter-spacing: -.05em; color: var(--accent-text); }
.standard-row h3 { margin: 0; font: 400 clamp(1.75rem,2.4vw,2.45rem)/1.12 Georgia,serif; letter-spacing: -.05em; }
.standard-row p { margin: 0; max-width: 535px; color: var(--muted); font-size: .99rem; line-height: 1.65; }
.standard-check { align-self: end; color: var(--accent-text); font-size: .61rem; font-weight: 800; letter-spacing: .13em; line-height: 1.5; border-top: 2px solid var(--accent); padding-top: 10px; }
.standards-anchor { max-width: 780px; border-left: 5px solid var(--accent); margin: 72px 0 0 auto; padding: 5px 0 5px 30px; font: 400 clamp(1.65rem,2.25vw,2.4rem)/1.27 Georgia,serif; letter-spacing: -.035em; }

.about-next { position: relative; overflow: hidden; background: #173b27; color: #f7faf7; }
.about-next-mark { position: absolute; display: block; width: min(48vw,640px); height: auto; right: -11%; bottom: -34%; opacity: .24; pointer-events: none; user-select: none; }
.about-next .eyebrow, .about-next h2 em { color: #85e99b; }
.next-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .66fr; gap: clamp(70px,10vw,170px); align-items: start; }
.about-next h2 { max-width: 800px; margin-bottom: 0; }
.next-action { padding-top: 58px; max-width: 400px; }
.next-action p { font-size: 1.12rem; line-height: 1.65; color: #e0efe3; margin-bottom: 29px; }
.next-action small { display: block; margin-top: 30px; padding-top: 16px; border-top: 1px solid rgba(201,240,210,.45); color: #c4dfca; line-height: 1.5; font-size: .78rem; }

@media (max-width: 1100px) {
  .about-hero-grid { grid-template-columns: minmax(0,1fr) minmax(340px,.9fr); gap: 45px; }
  .about-intro h1 { font-size: clamp(4rem,6.5vw,5.8rem); }
  .note-line { grid-template-columns: 91px 1fr; }
  .founder-layout { gap: 60px; }
  .founder-portrait { max-width: 415px; }
  .standard-row { grid-template-columns: 55px minmax(145px,.6fr) minmax(260px,1fr); }
  .standard-check { grid-column: 3; justify-self: start; }
}
@media (max-width: 960px) {
  .about-hero-grid { grid-template-columns: 1fr; gap: 75px; padding: 85px 0 110px; }
  .about-intro h1 { max-width: 11ch; font-size: clamp(4rem,9vw,6.1rem); }
  .decision-note { max-width: 610px; width: 87%; justify-self: end; }
  .founder-layout { grid-template-columns: 1fr; gap: 58px; }
  .founder-portrait { width: min(100%,500px); max-width: none; }
  .founder-story { max-width: 680px; padding: 0; }
  .standards-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 45px; }
  .standards-heading > p { max-width: 550px; }
  .standard-row { grid-template-columns: 55px minmax(150px,.6fr) minmax(260px,1fr); }
  .next-layout { grid-template-columns: 1fr; gap: 27px; }
  .next-action { padding-top: 0; max-width: 600px; }
}
@media (max-width: 600px) {
  .about-ruler, .about-hero-foot { font-size: .48rem; letter-spacing: .12em; }
  .about-hero-foot span:last-child { text-align: right; }
  .about-hero-grid { gap: 53px; padding: 59px 0 76px; }
  .about-intro h1 { max-width: none; font-size: clamp(3.35rem,12vw,4.4rem); line-height: 1.02; margin-bottom: 26px; }
  .about-intro > p:not(.eyebrow) { font-size: .97rem; line-height: 1.66; margin-bottom: 26px; }
  .decision-note { width: calc(100% - 13px); margin: 10px 13px 0 0; box-shadow: 13px 13px 0 #5ed073, 0 15px 40px rgba(0,0,0,.12); transform: rotate(-.6deg); }
  .decision-note::before { height: 19px; top: -15px; left: -10px; }
  .note-top { padding: 14px 13px; font-size: .53rem; }
  .note-body { padding: 26px 20px 12px; }
  .note-overline { font-size: 2.3rem; margin-bottom: 19px; }
  .note-line { grid-template-columns: 1fr; gap: 7px; padding: 14px 0 17px; }
  .note-line span { font-size: .55rem; }
  .note-line p { font-size: .84rem; line-height: 1.52; }
  .note-bottom { padding: 14px 11px; font-size: .52rem; letter-spacing: .02em; }
  .note-bottom span { max-width: 32%; text-align: center; }
  .founder-layout { gap: 38px; }
  .founder-portrait { width: min(100%,440px); }
  .founder-portrait figcaption { padding-block: 14px; }
  .founder-story h2 { margin-bottom: 26px; }
  .founder-story > p:not(.eyebrow) { font-size: .95rem; line-height: 1.66; margin-bottom: 18px; }
  .standards-heading { gap: 15px; margin-bottom: 32px; }
  .standards-heading > p { font-size: .92rem; }
  .standard-row { grid-template-columns: 42px 1fr; gap: 10px 12px; min-height: 0; padding: 24px 0 28px; }
  .standard-row:hover { padding-left: 0; }
  .standard-num { font-size: 2rem; grid-row: span 3; }
  .standard-row h3 { font-size: 1.8rem; }
  .standard-row p, .standard-check { grid-column: 2; }
  .standard-row p { font-size: .91rem; }
  .standard-check { margin-top: 10px; font-size: .53rem; }
  .standards-anchor { margin-top: 39px; padding-left: 16px; font-size: 1.55rem; }
  .next-action p { font-size: .96rem; }
  .next-action .button { width: 100%; }
  .about-next-mark { width: 118vw; right: -39%; bottom: -17%; opacity: .19; }
}
@media (max-width: 360px) {
  .about-intro h1 { font-size: 3.14rem; }
  .founder-portrait figcaption span { font-size: .63rem; }
}
