/* About — brand story UI */
main.about-page { background:#fbfcfa; overflow-x:clip; }
main.about-page > section:not(#home) { padding:clamp(4rem,8vw,6.5rem) 1.5rem; }
main.about-page > section:not(#home) .section-inner { max-width:980px; }

/* Hero */
main.about-page #home {
  min-height:clamp(600px,78vh,790px);
  padding:clamp(5rem,10vw,8rem) 1.5rem;
  background:
    linear-gradient(112deg,rgba(18,47,35,.92),rgba(31,75,55,.70) 54%,rgba(28,67,50,.48)),
    url('/images/14.webp') center 58% / cover no-repeat;
}
main.about-page #home::before {
  background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.16),transparent 34%),linear-gradient(180deg,transparent 56%,rgba(9,31,22,.28));
}
main.about-page #home .section-inner { max-width:920px; }
main.about-page #home .section-label {
  display:inline-flex; align-items:center; min-height:34px; padding:.4rem .82rem; margin-bottom:1.15rem;
  border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(255,255,255,.11);
  color:rgba(255,255,255,.94); font-size:.73rem; font-weight:800; letter-spacing:.11em; backdrop-filter:blur(8px);
}
main.about-page #home .section-title {
  max-width:850px; margin:0 auto .9rem; color:#fff; font-size:clamp(2.5rem,6vw,4.6rem); line-height:1.08;
  letter-spacing:-.055em; text-shadow:0 12px 34px rgba(0,0,0,.25);
}
main.about-page #home .hero-subtitle { margin-bottom:1.2rem; color:#dff0e7; font-size:clamp(1.08rem,2.3vw,1.35rem); font-weight:700; }
main.about-page .about-hero-lead { max-width:720px; margin:0 auto 1.3rem; color:rgba(255,255,255,.9); font-size:clamp(.98rem,2vw,1.08rem); line-height:1.85; word-break:keep-all; }
main.about-page .about-hero-lead strong { color:#fff; font-size:1.08em; }
main.about-page .about-hero-points { display:flex; justify-content:center; flex-wrap:wrap; gap:.55rem; max-width:760px; margin:0 auto 1.7rem; padding:0; list-style:none; }
main.about-page .about-hero-points li { padding:.42rem .8rem; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font-size:.8rem; font-weight:700; backdrop-filter:blur(5px); }
main.about-page #home .btn-primary { background:#fff; color:#24563f; box-shadow:none; }
main.about-page #home .btn-primary:hover { background:#edf7f1; }
main.about-page #home .btn-outline { border-color:rgba(255,255,255,.55); color:#fff; background:rgba(255,255,255,.07); }

/* Typography rhythm */
main.about-page > section:not(#home) .section-label { display:inline-block; margin-bottom:.65rem; color:#3d765b; font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
main.about-page > section:not(#home) .section-title { max-width:800px; margin-bottom:1rem; color:#173f2e; font-size:clamp(1.75rem,3.5vw,2.55rem); line-height:1.3; letter-spacing:-.035em; word-break:keep-all; }
main.about-page > section:not(#home) .section-desc { max-width:800px; margin-bottom:1rem; color:#56665e; font-size:1rem; line-height:1.85; word-break:keep-all; }
main.about-page > section:not(#home) .section-inner > p:not(.section-label):not(.section-desc):not(.logo-story-caption) { max-width:800px; color:#66736d; font-size:.96rem; line-height:1.9; word-break:keep-all; }
main.about-page > section:nth-of-type(even):not(#home) { background:#f4f7f4; }

/* Overview */
main.about-page .about-overview { padding-top:3.5rem!important; padding-bottom:3.5rem!important; background:#edf4ef!important; }
main.about-page .about-overview-panel { padding:clamp(1.6rem,4vw,2.5rem); border:1px solid #d4e2d8; border-radius:26px; background:linear-gradient(145deg,#fff,#f7faf8); box-shadow:0 18px 48px rgba(32,77,55,.08); }
main.about-page .about-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; margin-top:1.5rem; }
main.about-page .about-overview-card { min-height:190px; padding:1.3rem; border:1px solid #dce7df; border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(34,72,53,.05); }
main.about-page .about-overview-card::before { display:inline-flex; align-items:center; justify-content:center; width:34px; height:28px; margin-bottom:.75rem; border-radius:999px; background:#e7f1ea; color:#2d6a4f; font-size:.68rem; font-weight:900; }
main.about-page .about-overview-card:nth-child(1)::before { content:'WHY'; }
main.about-page .about-overview-card:nth-child(2)::before { content:'PROMISE'; width:58px; }
main.about-page .about-overview-card:nth-child(3)::before { content:'HOW'; }
main.about-page .about-overview-card h3 { margin-bottom:.5rem; color:#274c39; font-size:1.03rem; }
main.about-page .about-overview-card p { color:#65736c; font-size:.88rem; line-height:1.72; }

/* Story statement */
main.about-page #about-story .section-inner { position:relative; padding:clamp(1.8rem,5vw,3.2rem); border-left:4px solid #4d8b69; border-radius:0 24px 24px 0; background:#fff; box-shadow:0 14px 38px rgba(31,70,51,.06); }

/* Promise cards */
main.about-page .about-highlight-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; margin-top:1.5rem; }
main.about-page .about-highlight-card { min-height:180px; padding:1.35rem; border:1px solid #dbe6df; border-radius:19px; background:#fff; box-shadow:0 8px 24px rgba(32,70,52,.05); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
main.about-page .about-highlight-card:hover { transform:translateY(-3px); border-color:#bcd4c5; box-shadow:0 16px 34px rgba(32,70,52,.09); }
main.about-page .about-highlight-card h3 { margin-bottom:.55rem; color:#28523c; font-size:1.03rem; }
main.about-page .about-highlight-card p { color:#66746d; font-size:.89rem; line-height:1.72; }

/* Logo story */
main.about-page .logo-story-visual { display:flex; align-items:center; justify-content:center; gap:1rem; width:min(520px,100%); min-height:170px; margin:1.5rem 0 .7rem; border:1px solid #d8e5dc; border-radius:24px; background:radial-gradient(circle at 50% 10%,#fff,#f0f6f2); box-shadow:0 14px 38px rgba(31,70,51,.07); }
main.about-page .logo-story-visual .logo-mark { width:54px; height:54px; border-width:3px; border-radius:14px; }
main.about-page .logo-story-visual .logo-mark::before,main.about-page .logo-story-visual .logo-mark::after { top:8px; bottom:8px; width:3px; }
main.about-page .logo-story-visual .logo-mark::before { left:15px; } main.about-page .logo-story-visual .logo-mark::after { right:15px; }
main.about-page .logo-story-visual .logo-text { color:#24563f; font-size:2rem; letter-spacing:-.05em; }
main.about-page .logo-story-caption { margin-bottom:1.3rem; color:#4d755f; font-size:.82rem; font-weight:800; letter-spacing:.03em; }

/* Operating principles */
main.about-page .about-principle-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; margin-top:1.5rem; }
main.about-page .about-principle-item { position:relative; min-height:190px; padding:1.35rem; border:1px solid #dbe6df; border-radius:19px; background:#fff; box-shadow:0 8px 24px rgba(32,70,52,.05); }
main.about-page .about-principle-item::before { display:none !important; content:none !important; }
main.about-page .about-principle-item h3 { margin-bottom:.5rem; color:#28523c; font-size:1.02rem; }
main.about-page .about-principle-item p { color:#66746d; font-size:.89rem; line-height:1.72; }

/* Today / CTA */
main.about-page #partner-growth { background:linear-gradient(145deg,#173e2d,#285e44)!important; }
main.about-page #partner-growth .partner-growth-panel { max-width:900px; padding:clamp(1.8rem,5vw,3rem); border:1px solid rgba(255,255,255,.16); border-radius:26px; background:rgba(255,255,255,.08); box-shadow:0 22px 55px rgba(10,30,20,.18); backdrop-filter:blur(8px); }
main.about-page #partner-growth .section-label { color:#bde0c9; }
main.about-page #partner-growth .section-title { color:#fff; }
main.about-page #partner-growth .section-desc,main.about-page #partner-growth .partner-growth-panel > p:not(.section-label) { color:rgba(255,255,255,.82); }
main.about-page .partner-cta-row { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.5rem; }
main.about-page #partner-growth .btn-primary { background:#fff; color:#24563f; box-shadow:none; }
main.about-page #partner-growth .btn-outline { border-color:rgba(255,255,255,.55); color:#fff; }

@media(max-width:760px){
  main.about-page #home { min-height:620px; padding:4.5rem 1rem; background-position:58% center; }
  main.about-page #home .section-title { font-size:clamp(2.25rem,11vw,3.2rem); }
  main.about-page #home .hero-btns { width:100%; }
  main.about-page #home .btn-primary,main.about-page #home .btn-outline { width:100%; }
  main.about-page > section:not(#home) { padding:3.7rem 1rem; }
  main.about-page .about-overview-grid,main.about-page .about-highlight-grid,main.about-page .about-principle-grid { grid-template-columns:1fr; }
  main.about-page .about-overview-card,main.about-page .about-highlight-card,main.about-page .about-principle-item { min-height:0; }
  main.about-page #about-story .section-inner { padding:1.4rem; border-left-width:3px; border-radius:0 18px 18px 0; }
  main.about-page .logo-story-visual { min-height:145px; border-radius:18px; }
  main.about-page .logo-story-visual .logo-text { font-size:1.65rem; }
  main.about-page .partner-cta-row .btn-primary,main.about-page .partner-cta-row .btn-outline { width:100%; text-align:center; }
}
