/* About Us — ReGen360 1.4.0. All page styles are scoped to the About template. */
.ab-main { background:#fff; }
.ab-main section[id] { scroll-margin-top:110px; }
.ab-main h2 { font-size:clamp(1.9rem,2.75vw,2.65rem); line-height:1.14; letter-spacing:-.038em; }
.ab-main h3 { line-height:1.25; }
.ab-main p { color:var(--regen-muted); }
.ab-main .eyebrow { font-size:11px; color:var(--regen-teal-700); }
.ab-section { padding-block:66px; }
.ab-icon { display:inline-flex; width:36px; height:36px; flex:none; color:var(--regen-teal-700); }
.ab-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.ab-main .button { font-size:12px; min-height:49px; }
.ab-main .button--large { min-height:54px; padding-inline:24px; }
.ab-link { display:inline-flex; gap:12px; align-items:center; font-size:13px; font-weight:750; text-decoration:none; line-height:1.5; min-height:40px; }
.ab-link:hover { text-decoration:underline; text-underline-offset:4px; }
.ab-link span[aria-hidden] { font-size:21px; line-height:1; }
.ab-hero { padding-top:25px; background:radial-gradient(ellipse at 95% 24%,#e6f1ee 0,transparent 60%),linear-gradient(130deg,#fff,#f7fbfc); border-bottom:1px solid var(--regen-line); }
.ab-breadcrumb { display:flex; gap:14px; font-size:12px; color:var(--regen-muted); margin-bottom:39px; }
.ab-breadcrumb a { text-decoration:none; }
.ab-breadcrumb a:hover { text-decoration:underline; }
.ab-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:55px; align-items:center; padding-bottom:49px; }
.ab-hero-copy { padding-block:6px; }
.ab-hero h1 { font-size:clamp(2.75rem,4.25vw,3.95rem); line-height:1.07; letter-spacing:-.045em; margin-bottom:24px; }
.ab-hero h1 strong { display:block; color:var(--regen-teal-700); font-weight:inherit; }
.ab-lead { max-width:575px; font-size:17px; line-height:1.72; margin-bottom:27px; }
.ab-actions { display:flex; gap:23px; align-items:center; flex-wrap:wrap; }
.ab-hero-note { display:flex; align-items:center; gap:9px; font-size:12px; margin:20px 0 0; }
.ab-hero-note>span { width:7px; height:7px; flex:none; border-radius:50%; background:#3a9638; }
.ab-hero-media { height:410px; border-radius:29px; overflow:hidden; box-shadow:0 20px 50px #073c561b; }
.ab-hero-media img { width:100%; height:100%; object-fit:cover; object-position:49% center; }
.ab-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; padding-block:22px; border-top:1px solid var(--regen-line); }
.ab-benefits>div { display:flex; justify-content:center; align-items:center; gap:12px; font-size:13px; font-weight:700; }
.ab-benefits>div+div { border-left:1px solid var(--regen-line); }
.ab-benefits .ab-icon { width:29px; height:29px; }
.ab-story-grid { display:grid; grid-template-columns:minmax(0,.97fr) minmax(0,1.1fr); gap:90px; align-items:start; }
.ab-story-heading h2 { max-width:510px; }
.ab-story-copy { padding-top:24px; }
.ab-story-copy p { font-size:16px; line-height:1.75; margin-bottom:20px; }
.ab-story-copy p.ab-story-lead { font-size:21px; line-height:1.55; color:var(--regen-navy-900); font-weight:550; letter-spacing:-.02em; }
.ab-story-copy .ab-link { margin-top:0; }
.ab-mission { position:relative; padding:25px 27px 25px 29px; border-left:3px solid #409c43; background:#f0f7f5; border-radius:0 20px 20px 0; margin-top:30px; }
.ab-mission>.ab-icon { width:28px; height:28px; position:absolute; top:20px; right:23px; color:#37884c; }
.ab-small-label { font-size:10px; font-weight:780; letter-spacing:.12em; margin-bottom:11px; }
.ab-mission .ab-small-label { color:#266c57; }
.ab-mission p.ab-mission-statement { font-size:21px; line-height:1.45; letter-spacing:-.022em; color:var(--regen-navy-900); margin:0; max-width:410px; }
.ab-mission .ab-mission-note { font-size:11px; margin:16px 0 0; }
.ab-framework { background:linear-gradient(112deg,#073e56,#30747b); padding-block:48px 43px; color:#fff; }
.ab-framework-header { display:grid; grid-template-columns:1fr 1.03fr; gap:75px; align-items:center; margin-bottom:32px; }
.ab-framework-header h2 { color:#fff; max-width:510px; margin-bottom:0; }
.ab-framework .eyebrow--light { color:#c5e8e9; }
.ab-framework-header>p { color:#e7f1f2; font-size:15px; line-height:1.75; margin:0; }
.ab-pillars { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-top:28px; border-top:1px solid #ffffff35; }
.ab-pillars article { padding-inline:29px; }
.ab-pillars article:first-child { padding-left:0; }
.ab-pillars article+article { border-left:1px solid #ffffff38; }
.ab-pillars .ab-icon { color:#dbf3ee; width:40px; height:40px; margin-bottom:13px; }
.ab-pillars h3 { color:#fff; text-transform:uppercase; font-size:16px; letter-spacing:.035em; font-weight:650; margin-bottom:12px; }
.ab-pillars p { color:#e4eff0; font-size:14px; line-height:1.65; margin:0; }
.ab-section-heading { max-width:830px; margin-bottom:31px; }
.ab-section-heading h2 { margin-bottom:15px; }
.ab-section-heading p:last-child { font-size:16px; margin-bottom:0; }
.ab-section-heading p.eyebrow { font-size:11px; }
.ab-standards-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:19px; }
.ab-standard { border:1px solid var(--regen-line); border-radius:20px; padding:25px 24px 27px; background:linear-gradient(145deg,#fff,#f6fafb); }
.ab-standard>.ab-icon { width:32px; height:32px; margin-bottom:21px; }
.ab-standard h3 { font-size:20px; letter-spacing:-.025em; margin-bottom:13px; }
.ab-standard p { font-size:14px; line-height:1.7; margin:0; }
.ab-care { background:#f5f9fa; border-block:1px solid #e4eef0; }
.ab-care .ab-section-heading { max-width:865px; }
.ab-care-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:45px; }
.ab-prp-card { background:#fff; border:1px solid #d6e5e8; border-radius:22px; overflow:hidden; align-self:start; }
.ab-prp-image { height:192px; background:#073c56; }
.ab-prp-image img { width:100%; height:100%; object-fit:cover; }
.ab-prp-copy { padding:26px 29px; }
.ab-prp-copy h3 { font-size:28px; margin-bottom:14px; }
.ab-prp-copy p { font-size:15px; line-height:1.7; margin-bottom:13px; }
.ab-prp-copy .eyebrow { font-size:10px; margin-bottom:12px; }
.ab-care-list { display:flex; flex-direction:column; justify-content:space-between; gap:20px; }
.ab-care-item { display:grid; grid-template-columns:37px minmax(0,1fr); gap:21px; padding-bottom:19px; border-bottom:1px solid #d4e4e7; }
.ab-care-item:last-child { padding-bottom:0; border:0; }
.ab-care-item>.ab-icon { width:31px; height:31px; margin-top:1px; }
.ab-care-item h3 { font-size:21px; margin-bottom:9px; }
.ab-care-item p { font-size:14px; line-height:1.65; margin:0 0 5px; }
.ab-care-item .ab-link { font-size:12px; min-height:32px; }
.ab-care-bottom { display:flex; justify-content:space-between; align-items:center; gap:40px; margin-top:23px; }
.ab-main .ab-fine-print { font-size:11px; line-height:1.65; }
.ab-care-bottom p { max-width:820px; margin:0; }
.ab-care-bottom .ab-link { flex:none; font-size:12px; }
.ab-lifestyle { background:#fff; }
.ab-lifestyle-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr); gap:80px; }
.ab-lifestyle h2 { max-width:510px; }
.ab-lifestyle-grid p:not(.eyebrow) { font-size:15px; line-height:1.7; margin-bottom:17px; }
.ab-lifestyle-media { border-radius:19px; overflow:hidden; margin-top:30px; height:194px; }
.ab-lifestyle-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.ab-location { padding-block:53px; background:#eff6f4; border-block:1px solid #e2eeea; }
.ab-location-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr); gap:110px; align-items:center; }
.ab-location h2 { max-width:570px; }
.ab-location-grid>div>p:not(.eyebrow) { max-width:590px; font-size:16px; line-height:1.75; margin-bottom:16px; }
.ab-location-card { border:1px solid #cbdeda; border-radius:22px; padding:29px 32px; background:#ffffffc7; }
.ab-location-brand { display:block; font-size:22px; font-weight:750; letter-spacing:-.03em; color:var(--regen-navy-900); margin-bottom:11px; }
.ab-location-card address { font-style:normal; font-size:16px; line-height:1.65; color:#405b6b; margin-bottom:11px; }
.ab-location-phone { display:block; width:fit-content; font-size:25px; font-weight:720; letter-spacing:-.02em; text-decoration:none; color:var(--regen-navy-900); margin-bottom:5px; }
.ab-location-phone:hover { text-decoration:underline; }
.ab-location-card .ab-link { min-height:35px; font-size:12px; }
.ab-location-card .ab-fine-print { margin:11px 0 0; }
.ab-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:44px; row-gap:15px; align-items:start; }
.ab-faq-item { border-top:1px solid var(--regen-line); padding:21px 0 7px; }
.ab-faq-item summary { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; list-style:none; cursor:pointer; font-size:17px; font-weight:740; line-height:1.5; color:var(--regen-navy-900); min-height:31px; }
.ab-faq-item summary::-webkit-details-marker { display:none; }
.ab-faq-toggle { position:relative; flex:none; width:23px; height:23px; border:1px solid #b9d3d5; border-radius:50%; margin-top:2px; }
.ab-faq-toggle::before,.ab-faq-toggle::after { position:absolute; content:''; background:var(--regen-teal-700); top:10px; left:5px; width:11px; height:1px; }
.ab-faq-toggle::after { transform:rotate(90deg); }
.ab-faq-item[open] .ab-faq-toggle::after { display:none; }
.ab-faq-item>div { padding:9px 31px 0 0; }
.ab-faq-item p { font-size:14px; line-height:1.7; margin:0; }
.ab-closing { background:linear-gradient(110deg,#08455c,#2d7380); color:#fff; padding-block:48px; }
.ab-closing-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:70px; align-items:center; }
.ab-closing h2 { color:#fff; max-width:740px; font-size:clamp(1.9rem,2.6vw,2.65rem); margin-bottom:16px; }
.ab-closing .eyebrow--light { color:#c5e8e9; }
.ab-closing p:not(.eyebrow) { color:#e2eef0; font-size:15px; line-height:1.7; margin-bottom:0; max-width:680px; }
.ab-closing-actions { justify-self:end; }
.ab-closing-actions .button { min-width:280px; }
.ab-closing-phone { display:block; text-align:center; margin-top:16px; color:#fff; font-size:14px; text-decoration:none; }
.ab-closing-phone:hover { color:#fff; text-decoration:underline; }
.ab-image-note { background:#f8fafb; padding-block:16px; }
.ab-image-note p { font-size:10px; margin:0; line-height:1.6; }
.ab-team { background:#f5faf9; border-top:1px solid var(--regen-line); }
.ab-team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:24px; }
.ab-team-card { border:1px solid var(--regen-line); border-radius:20px; overflow:hidden; background:#fff; }
.ab-team-card>img { width:100%; height:300px; object-fit:cover; }
.ab-team-card>div { padding:26px; }
.ab-team-card h3 { font-size:22px; }
.ab-team-card p { font-size:14px; }
.ab-team-card .ab-team-role { font-weight:650; color:var(--regen-teal-700); }
.ab-main :focus-visible { outline:3px solid #007f91; outline-offset:5px; }
.ab-framework :focus-visible,.ab-closing :focus-visible { outline-color:#fff; }
@media (min-width:981px) and (max-width:1220px) { .regen360-about-page .site-header__inner { grid-template-columns:225px 1fr; gap:25px; } .regen360-about-page .header-cta { display:none; } }
@media (max-width:1100px) { .ab-hero-grid { gap:32px; } .ab-hero h1 { font-size:3.1rem; } .ab-hero-media { height:385px; } .ab-actions { gap:15px; } .ab-actions .button { padding-inline:20px; } .ab-story-grid,.ab-framework-header,.ab-lifestyle-grid { gap:45px; } .ab-location-grid { gap:55px; } .ab-standards-grid { gap:13px; } .ab-standard { padding:24px 18px; } .ab-standard h3 { font-size:18px; } .ab-care-grid { gap:30px; } .ab-closing-grid { gap:35px; } }
@media (max-width:880px) { .ab-hero-grid { grid-template-columns:1fr 1fr; gap:24px; } .ab-hero h1 { font-size:2.55rem; } .ab-hero-media { height:400px; } .ab-lead { font-size:16px; } .ab-story-grid,.ab-lifestyle-grid { gap:32px; } .ab-story-copy { padding-top:0; } .ab-framework-header { gap:35px; } .ab-standards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px; } .ab-standard { padding:26px; } .ab-standard h3 { font-size:21px; } .ab-pillars article { padding-inline:20px; } .ab-pillars h3 { font-size:14px; } .ab-care-grid { grid-template-columns:1fr 1.15fr; gap:26px; } .ab-care-item { grid-template-columns:26px minmax(0,1fr); gap:13px; } .ab-care-item>.ab-icon { width:26px; height:26px; } .ab-prp-copy { padding:25px; } .ab-location-grid { gap:35px; } .ab-location-card { padding:26px; } }
@media (max-width:700px) {
 .ab-section { padding-block:47px; }
 .ab-hero { padding-top:21px; }
 .ab-breadcrumb { margin-bottom:25px; }
 .ab-hero-grid { grid-template-columns:1fr; gap:27px; padding-bottom:28px; }
 .ab-hero-copy { padding:0; }
 .ab-hero h1 { font-size:clamp(2.3rem,8.6vw,3.5rem); max-width:590px; margin-bottom:20px; }
 .ab-lead { max-width:none; margin-bottom:24px; }
 .ab-hero-media { height:auto; aspect-ratio:1.55; border-radius:21px; }
 .ab-actions { gap:11px 19px; }
 .ab-actions .button { min-height:51px; font-size:11px; padding-inline:19px; }
 .ab-hero-note { font-size:11px; margin-top:18px; }
 .ab-benefits { gap:10px; padding-block:19px; }
 .ab-benefits>div { flex-direction:column; text-align:center; justify-content:flex-start; gap:9px; font-size:11px; padding-inline:3px; line-height:1.4; }
 .ab-benefits .ab-icon { width:26px; height:26px; }
 .ab-story-grid { grid-template-columns:1fr; gap:27px; }
 .ab-mission { margin-top:24px; padding:24px; }
 .ab-mission p.ab-mission-statement { max-width:none; font-size:20px; }
 .ab-story-copy p { font-size:15px; margin-bottom:17px; }
 .ab-story-copy p.ab-story-lead { font-size:20px; }
 .ab-framework { padding-block:41px 33px; }
 .ab-framework-header { grid-template-columns:1fr; gap:19px; margin-bottom:24px; }
 .ab-framework-header>p { font-size:14px; }
 .ab-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:28px; padding-top:24px; }
 .ab-pillars article { padding-inline:19px 13px; }
 .ab-pillars article:nth-child(odd) { padding-left:0; border-left:0; }
 .ab-pillars .ab-icon { width:34px; height:34px; margin-bottom:13px; }
 .ab-pillars h3 { font-size:14px; margin-bottom:10px; }
 .ab-pillars p { font-size:13px; }
 .ab-section-heading { margin-bottom:25px; }
 .ab-section-heading p:last-child { font-size:15px; }
 .ab-section-heading p.eyebrow { font-size:10px; }
 .ab-standard h3 { font-size:20px; }
 .ab-care-grid { grid-template-columns:1fr; gap:29px; }
 .ab-prp-image { height:180px; }
 .ab-prp-copy { padding:25px; }
 .ab-prp-copy h3 { font-size:27px; }
 .ab-care-item { grid-template-columns:32px minmax(0,1fr); gap:15px; }
 .ab-care-item>.ab-icon { width:29px; height:29px; }
 .ab-care-item h3 { font-size:20px; }
 .ab-care-item .ab-link { min-height:38px; }
 .ab-care-bottom { flex-direction:column; align-items:flex-start; gap:9px; margin-top:22px; }
 .ab-care-bottom .ab-fine-print { font-size:10px; }
 .ab-lifestyle-grid { grid-template-columns:1fr; gap:14px; }
 .ab-lifestyle h2 { margin-bottom:5px; }
 .ab-lifestyle-media { height:140px; margin-top:24px; border-radius:13px; }
 .ab-location-grid { grid-template-columns:1fr; gap:24px; }
 .ab-location-grid>div>p:not(.eyebrow) { font-size:15px; }
 .ab-location-card { padding:28px; }
 .ab-faq-grid { grid-template-columns:1fr; gap:13px; }
 .ab-faq-item { padding-block:17px 7px; }
 .ab-faq-item summary { font-size:16px; }
 .ab-faq-item>div { padding-right:24px; }
 .ab-closing { padding-block:40px; }
 .ab-closing-grid { grid-template-columns:1fr; gap:23px; }
 .ab-closing-actions { justify-self:start; }
 .ab-closing-phone { text-align:left; }
 .ab-image-note p { font-size:10px; }
}
@media (max-width:480px) { .ab-standards-grid { grid-template-columns:1fr; gap:14px; } .ab-standard { padding:24px; } .ab-standard>.ab-icon { margin-bottom:14px; } .ab-standard h3 { margin-bottom:10px; } .ab-standard p { font-size:14px; } }
@media (max-width:360px) { .ab-hero h1 { font-size:2.18rem; } .ab-main .button--large { font-size:11px; padding-inline:18px; } .ab-link { font-size:12px; } .ab-pillars article { padding-inline:15px 7px; } .ab-pillars h3 { font-size:12px; } .ab-closing-actions .button { min-width:0; } .ab-mission { padding:23px; } }
@media (prefers-reduced-motion:reduce) { html:has(.ab-main) { scroll-behavior:auto; } .ab-main a,.ab-main button { transition:none; } .ab-main .button:hover { transform:none; } }
