/* Page-owned editorial layout. The accepted shell retains its shared styles. */
.about-page { width:100%; padding-top:32px; color:#20201e; }
.about-page * { box-sizing:border-box; min-width:0; }
.about-container { width:min(1200px,calc(100% - 40px)); margin-inline:auto; }
.about-intro { padding:clamp(40px,6vw,88px) 0; border-top:1px solid #ccc7bd; border-bottom:1px solid #ccc7bd; background:#ede8df; }
.about-eyebrow { margin:0 0 16px; font-size:14px; font-weight:700; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; color:#784007; }
.about-page h1 { margin:0 0 28px; max-width:100%; font-size:clamp(40px,6vw,80px); line-height:1.08; letter-spacing:-.035em; }
.about-lead { max-width:860px; margin:0; font-size:clamp(23px,2.4vw,32px); line-height:1.45; }
.about-jump { display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:32px; }
.about-page a { color:inherit; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; overflow-wrap:anywhere; }
.about-jump a { display:inline-flex; align-items:center; min-height:44px; font-size:17px; font-weight:700; }
.about-page a:hover { text-decoration-thickness:2px; }
.about-page a:focus-visible { outline:3px solid #874400; outline-offset:5px; }
.about-content { padding-block:64px 32px; }
.about-page h2 { font-size:clamp(28px,3.2vw,42px); line-height:1.18; margin:0 0 24px; letter-spacing:-.02em; max-width:850px; }
.about-page h3 { margin:0 0 12px; font-size:23px; line-height:1.3; }
.about-page p:not(.about-eyebrow):not(.about-lead) { font-size:20px; line-height:1.65; max-width:900px; margin:0 0 22px; }
.about-section { max-width:960px; padding-bottom:36px; margin-bottom:32px; }
.about-method { border-top:3px solid #ea7d06; padding-top:40px; padding-bottom:40px; }
.about-method-intro { max-width:900px; }
.about-steps { list-style:none; padding:0; margin:28px 0; counter-reset:method; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:28px; }
.about-steps li { counter-increment:method; border-top:1px solid #b9b2a5; padding-top:24px; }
.about-steps li::before { content:"0" counter(method); display:block; color:#784007; font-size:17px; font-weight:700; margin-bottom:16px; }
.about-policies { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:40px; padding-block:40px; border-top:1px solid #b9b2a5; }
.about-policy { min-width:0; }
.about-contact { display:flex; flex-wrap:wrap; gap:36px 56px; padding:clamp(24px,4vw,48px); margin-block:16px 40px; border-left:5px solid #ea7d06; background:#e9e4da; }
.about-contact > div { flex:2 1 480px; }
.about-details { flex:1 1 280px; display:flex; flex-direction:column; gap:20px; font-style:normal; font-size:18px; line-height:1.6; align-self:center; }
.about-details a { display:block; min-height:32px; }
.about-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; max-width:100%; padding:14px 24px; margin-top:8px; background:#ea7d06; color:#111; font-size:18px; font-weight:700; text-decoration:none!important; }
.about-button:hover { background:#f2a044; }
@media (max-width:600px) {
  .about-container { width:calc(100% - 32px); }
  .about-page { padding-top:16px; }
  .about-content { padding-block:40px 16px; }
  .about-section { padding-bottom:16px; margin-bottom:24px; }
  .about-policies { gap:24px; padding-block:28px; }
  .about-contact { gap:28px; padding:24px 18px; }
  .about-page p:not(.about-eyebrow):not(.about-lead) { font-size:18px; }
}
