/* ReGen360 Patient Resources — scoped styles, v1.5.0. */
.pr-main { --pr-space:clamp(58px,6vw,88px); }
.pr-main p { color:var(--regen-muted); }
.pr-main h1 { font-size:clamp(2.45rem,4.2vw,3.9rem); line-height:1.08; letter-spacing:-.045em; }
.pr-main h1 strong { display:block; color:var(--regen-teal-700); font-weight:720; margin-top:9px; }
.pr-main h2 { font-size:clamp(1.95rem,3vw,2.9rem); line-height:1.14; }
.pr-main h3 { font-size:1.2rem; letter-spacing:-.02em; line-height:1.25; }
.pr-main [id] { scroll-margin-top:118px; }
.pr-hero { padding:26px 0 0; background:radial-gradient(ellipse at 90% 15%,#e5f3ed 0,transparent 56%),linear-gradient(110deg,#fff,#f0f8f9); border-bottom:1px solid var(--regen-line); }
.pr-breadcrumb { display:flex; gap:15px; align-items:center; font-size:.8rem; color:var(--regen-muted); margin:0 0 40px; }
.pr-breadcrumb a { text-decoration:none; }
.pr-hero-grid { display:grid; grid-template-columns:1.16fr 1fr; align-items:center; gap:clamp(35px,5vw,86px); padding:5px 0 48px; }
.pr-main .pr-lead { font-size:1.07rem; line-height:1.8; max-width:620px; margin:25px 0 29px; }
.pr-actions { display:flex; gap:24px; flex-wrap:wrap; align-items:center; }
.pr-text-link { display:inline-flex; align-items:center; gap:12px; font-size:.9rem; font-weight:750; text-decoration:none; line-height:1.5; padding:8px 0; }
.pr-text-link:hover { text-decoration:underline; }
.pr-main .pr-hero-note { display:flex; align-items:center; gap:9px; font-size:.8rem; margin:19px 0 0; }
.pr-hero-note > span { flex:0 0 7px; height:7px; border-radius:100%; background:var(--regen-green-600); }
.pr-guide-card { background:#fff; padding:30px 32px 0; border:1px solid #d9e8e7; border-radius:28px; box-shadow:0 18px 50px rgba(7,60,86,.1); overflow:hidden; }
.pr-guide-top { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:17px; }
.pr-guide-top .eyebrow { font-size:.65rem; margin:0; }
.pr-guide-icon { width:49px; height:49px; padding:12px; background:var(--regen-mist); border:1px solid #d5e7e9; border-radius:15px; color:var(--regen-teal-700); flex-shrink:0; }
.pr-guide-card h2 { font-size:clamp(1.7rem,2.45vw,2.2rem); }
.pr-guide-card > p { font-size:.94rem; max-width:360px; }
.pr-guide-links { border-top:1px solid var(--regen-line); margin-top:24px; }
.pr-guide-links a { display:grid; grid-template-columns:27px 1fr 14px; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid var(--regen-line); text-decoration:none; }
.pr-guide-links a > span:first-child { font-size:.72rem; color:var(--regen-teal-700); font-weight:750; }
.pr-guide-links a strong { font-size:.95rem; color:var(--regen-navy-900); }
.pr-guide-links a:hover strong { text-decoration:underline; }
.pr-guide-links a:last-child { border-bottom:none; }
.pr-guide-foot { display:flex; align-items:center; gap:10px; padding:15px 32px; margin:14px -32px 0; color:#fff; background:linear-gradient(105deg,#073c56,#0c6877); text-transform:uppercase; letter-spacing:.1em; font-size:.66rem; font-weight:760; }
.pr-icon { display:inline-block; width:28px; height:28px; color:var(--regen-teal-700); flex-shrink:0; }
.pr-guide-foot .pr-icon { width:23px; height:23px; color:#d2eff0; }
.pr-benefits { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--regen-line); padding:23px 0; gap:18px; }
.pr-benefits > div { display:flex; align-items:center; justify-content:center; gap:13px; padding:2px 14px; border-right:1px solid var(--regen-line); font-size:.84rem; }
.pr-benefits > div:last-child { border:0; }
.pr-shortcuts { display:flex; flex-wrap:wrap; align-items:center; gap:9px; padding-top:26px; }
.pr-shortcuts a { padding:8px 15px; border:1px solid #d9e8e9; border-radius:999px; background:var(--regen-mist-2); font-size:.77rem; font-weight:730; text-decoration:none; min-height:39px; display:inline-flex; align-items:center; }
.pr-shortcuts a:hover { background:var(--regen-navy-900); color:white; }
.pr-section { padding:var(--pr-space) 0; }
.pr-heading { display:grid; grid-template-columns:1.05fr 1fr; align-items:end; gap:50px; margin-bottom:30px; }
.pr-heading h2,.pr-heading p:last-child { margin-bottom:0; }
.pr-heading > p { font-size:.99rem; }
.pr-visit-grid { display:grid; grid-template-columns:1fr 1.12fr; gap:76px; align-items:start; }
.pr-visit-grid > div:first-child > p:not(.eyebrow) { max-width:520px; }
.pr-visit-grid h2 { max-width:430px; }
.pr-visit-grid .button { margin-top:9px; }
.pr-visit-checks article { display:flex; gap:18px; padding:19px 0; border-bottom:1px solid var(--regen-line); }
.pr-visit-checks article:first-child { padding-top:0; }
.pr-visit-checks h3 { margin-bottom:7px; }
.pr-visit-checks p { font-size:.95rem; margin-bottom:0; }
.pr-number { display:flex; align-items:center; justify-content:center; width:43px; height:43px; border:1px solid #d3e7e8; background:var(--regen-mist); border-radius:13px; flex:0 0 43px; font-size:.8rem; color:var(--regen-teal-700); font-weight:750; }
.pr-main .pr-small { font-size:.79rem; line-height:1.65; }
.pr-below { margin-top:13px; }
.pr-source-link { font-size:.77rem; line-height:1.5; display:inline-block; margin-top:13px; font-weight:650; }
.pr-note { display:flex; gap:16px; align-items:flex-start; background:#f3f8f5; border:1px solid #d6e8da; border-left:3px solid var(--regen-green-600); border-radius:0 13px 13px 0; padding:16px 21px; margin-top:30px; }
.pr-note p { font-size:.87rem; margin:0; }
.pr-note .pr-icon { width:24px; height:24px; color:#287e37; }
.pr-tint { background:var(--regen-mist-2); border-block:1px solid #e0ebed; }
.pr-prp-grid { display:grid; grid-template-columns:.76fr 1.24fr; gap:60px; align-items:start; }
.pr-prp-feature { overflow:hidden; border-radius:22px; background:linear-gradient(140deg,#073c56,#107080); }
.pr-prp-photo { position:relative; }
.pr-prp-photo img { width:100%; height:255px; object-fit:cover; }
.pr-tag { position:absolute; top:19px; left:18px; background:#fff; color:var(--regen-teal-700); padding:6px 12px; border-radius:999px; font-size:.6rem; letter-spacing:.07em; font-weight:800; }
.pr-prp-feature-copy { padding:28px; }
.pr-main .pr-feature-title { font-size:2rem; color:#fff; letter-spacing:-.04em; line-height:1.16; font-weight:730; margin-bottom:20px; }
.pr-question-rows { margin:24px 0 20px; }
.pr-question-rows article { padding:14px 0; border-top:1px solid var(--regen-line); }
.pr-question-rows h3 { font-size:1rem; margin-bottom:6px; }
.pr-question-rows p { font-size:.94rem; margin-bottom:0; }
.pr-education-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pr-education-card { display:flex; flex-direction:column; border:1px solid var(--regen-line); background:#fff; border-radius:18px; padding:26px; box-shadow:0 5px 18px rgba(7,60,86,.035); }
.pr-tile-icon { display:block; width:46px; height:46px; padding:10px; color:var(--regen-teal-700); background:var(--regen-mist); border-radius:13px; margin-bottom:20px; }
.pr-education-card p { font-size:.92rem; margin-bottom:16px; }
.pr-education-card .pr-text-link { margin-top:auto; font-size:.83rem; }
.pr-longevity { padding-bottom:8px; }
.pr-lifestyle-strip { border-radius:23px 23px 0 0; overflow:hidden; }
.pr-lifestyle-strip img { width:100%; height:175px; object-fit:cover; }
.pr-longevity-content { background:linear-gradient(112deg,#073c56,#216f78); padding:37px 40px 30px; border-radius:0 0 23px 23px; }
.pr-longevity h2,.pr-longevity h3 { color:#fff; }
.pr-longevity h2 { font-size:clamp(1.9rem,2.6vw,2.5rem); }
.pr-longevity p { color:#e5f2f3; }
.pr-longevity .pr-heading { gap:54px; }
.pr-pillars { border-top:1px solid #608a96; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-top:22px; }
.pr-pillars article { border-right:1px solid #608a96; padding:0 22px; }
.pr-pillars article:first-child { padding-left:0; }
.pr-pillars article:last-child { padding-right:0; border:0; }
.pr-pillars .pr-icon { color:#c9eced; width:29px; height:29px; margin-bottom:10px; }
.pr-pillars h3 { text-transform:uppercase; font-size:.87rem; letter-spacing:.025em; }
.pr-pillars p { font-size:.86rem; line-height:1.6; margin:0; }
.pr-stories-empty { display:grid; grid-template-columns:75px 1fr auto; gap:25px; align-items:center; padding:35px; border:1px solid #d6e7e4; border-radius:22px; background:linear-gradient(112deg,#f2f8f5,#f5f9fa); }
.pr-story-symbol { width:68px; height:68px; padding:17px; border-radius:50%; background:#e0efeb; color:var(--regen-teal-700); }
.pr-stories-empty h3 { font-size:1.45rem; }
.pr-stories-empty p { font-size:.95rem; max-width:650px; margin:0; }
.pr-stories { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:22px; }
.pr-story { display:flex; flex-direction:column; border:1px solid var(--regen-line); border-radius:20px; margin:0; padding:26px; background:#fff; }
.pr-quote-mark { font-family:Georgia,serif; font-size:4.5rem; height:55px; color:#328789; line-height:1; }
.pr-story blockquote { margin:0 0 22px; font-size:1.08rem; line-height:1.75; }
.pr-story blockquote p { color:var(--regen-navy-900); margin:0; }
.pr-story figcaption { margin-top:auto; display:flex; flex-direction:column; font-size:.85rem; }
.pr-story figcaption small,.pr-disclosure { color:var(--regen-muted); }
.pr-main .pr-disclosure { font-size:.76rem; margin:15px 0 0; }
.pr-testimonial-note { margin-top:19px; }
.pr-faq-controls { display:flex; gap:9px; justify-content:flex-end; margin-bottom:4px; }
.pr-faq-controls[hidden] { display:none; }
.pr-faq-controls button { border:1px solid var(--regen-line); background:white; color:var(--regen-teal-700); border-radius:20px; padding:9px 16px; min-height:42px; font-size:.79rem; cursor:pointer; }
.pr-faq-controls button:hover { background:var(--regen-mist); }
.pr-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; }
.pr-faq-item { padding:23px 24px; border:1px solid var(--regen-line); border-radius:16px; background:white; }
.pr-faq-item summary { font-size:1rem; font-weight:750; color:var(--regen-navy-900); line-height:1.45; display:flex; gap:22px; align-items:center; justify-content:space-between; list-style:none; cursor:pointer; }
.pr-faq-item summary::-webkit-details-marker { display:none; }
.pr-faq-item summary::marker { content:''; }
.pr-toggle { width:15px; height:15px; position:relative; flex:0 0 15px; }
.pr-toggle::before,.pr-toggle::after { position:absolute; content:''; background:var(--regen-teal-700); border-radius:2px; }
.pr-toggle::before { width:13px; height:2px; top:7px; left:1px; }
.pr-toggle::after { width:2px; height:13px; top:1px; left:7px; }
.pr-faq-item[open] .pr-toggle::after { display:none; }
.pr-faq-item > div { padding-top:13px; }
.pr-faq-item p { font-size:.91rem; line-height:1.75; margin:0; }
.pr-tools-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.pr-tool { border:1px solid var(--regen-line); border-radius:18px; padding:26px 22px; display:flex; flex-direction:column; }
.pr-tool .eyebrow { font-size:.63rem; line-height:1.55; letter-spacing:.07em; min-height:31px; }
.pr-tool h3 { font-size:1.15rem; }
.pr-tool p { font-size:.88rem; }
.pr-tool .pr-text-link { margin-top:auto; font-size:.8rem; }
.pr-tool .pr-icon { margin-bottom:15px; }
.pr-tool-feature { background:linear-gradient(140deg,#073c56,#0c6877); border:0; }
.pr-tool-feature h3,.pr-tool-feature p,.pr-tool-feature .pr-icon { color:#fff; }
.pr-tool-feature .eyebrow { color:#cee9ec; min-height:0; }
.pr-main a.pr-light-link { color:#fff; }
.pr-forms-row { border-top:1px solid var(--regen-line); padding-top:25px; margin-top:30px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.pr-forms-row strong { display:block; font-size:1rem; color:var(--regen-navy-900); }
.pr-forms-row p { font-size:.86rem; margin:7px 0 0; max-width:830px; }
.pr-form-links { display:flex; gap:10px; flex-shrink:0; flex-wrap:wrap; }
.pr-form-links .button { border-color:var(--regen-line); color:var(--regen-teal-700); }
.pr-contact { background:linear-gradient(110deg,#073c56,#155b6e); }
.pr-contact h2,.pr-contact h3,.pr-contact address { color:#fff; }
.pr-contact p { color:#e0eff1; }
.pr-contact-grid { display:grid; grid-template-columns:1.4fr .7fr; gap:95px; }
.pr-contact h2 { max-width:590px; }
.pr-contact-grid > div > p:not(.eyebrow) { max-width:720px; }
.pr-contact aside { padding:25px 35px; border:1px solid #68929f; border-radius:18px; background:rgba(255,255,255,.04); }
.pr-contact aside .pr-icon { color:#d2eef0; margin-bottom:14px; }
.pr-contact address { font-style:normal; margin-bottom:14px; font-size:1rem; }
.pr-closing-note { padding-top:24px; padding-bottom:12px; }
@media (max-width:1100px) {
 .pr-hero-grid { gap:35px; grid-template-columns:1.08fr 1fr; }
 .pr-guide-card { padding:24px 23px 0; }
 .pr-guide-foot { margin:14px -23px 0; padding-inline:23px; }
 .pr-visit-grid,.pr-prp-grid { gap:40px; }
 .pr-tools-grid { grid-template-columns:repeat(2,1fr); }
 .pr-stories-empty { grid-template-columns:62px 1fr; }
 .pr-stories-empty .button { grid-column:2; justify-self:start; }
 .pr-contact-grid { gap:50px; }
}
@media (max-width:800px) {
 .pr-hero-grid { grid-template-columns:1fr; gap:35px; }
 .pr-hero-copy { max-width:720px; }
 .pr-guide-card { max-width:650px; width:100%; }
 .pr-breadcrumb { margin-bottom:28px; }
 .pr-benefits { gap:8px; }
 .pr-benefits > div { padding-inline:8px; gap:8px; font-size:.72rem; }
 .pr-heading,.pr-visit-grid,.pr-prp-grid,.pr-contact-grid { grid-template-columns:1fr; gap:27px; }
 .pr-main h2 { max-width:680px; }
 .pr-prp-feature { max-width:650px; display:grid; grid-template-columns:.8fr 1fr; }
 .pr-prp-photo img { height:100%; min-height:225px; }
 .pr-prp-feature-copy { padding:23px; }
 .pr-main .pr-feature-title { font-size:1.65rem; }
 .pr-education-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pr-longevity-content { padding:30px; }
 .pr-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; }
 .pr-pillars article:nth-child(2) { border:0; padding-right:0; }
 .pr-pillars article:nth-child(3) { padding-left:0; }
 .pr-faq-grid { grid-template-columns:1fr; }
 .pr-faq-controls { justify-content:flex-start; }
 .pr-forms-row { flex-direction:column; align-items:flex-start; }
 .pr-contact aside { padding:24px; }
}
@media (max-width:500px) {
 .pr-main h1 { font-size:2.6rem; }
 .pr-main h2 { font-size:2rem; }
 .pr-main .pr-lead { font-size:1rem; margin-top:22px; }
 .pr-hero { padding-top:20px; }
 .pr-benefits { grid-template-columns:1fr; padding:17px 0; gap:15px; }
 .pr-benefits > div { justify-content:flex-start; border:0; font-size:.83rem; }
 .pr-benefits .pr-icon { width:24px; height:24px; }
 .pr-guide-card h2 { font-size:1.85rem; }
 .pr-guide-links a strong { font-size:.85rem; }
 .pr-guide-top .eyebrow { font-size:.57rem; }
 .pr-guide-icon { width:41px; height:41px; padding:9px; }
 .pr-actions { gap:14px; }
 .pr-shortcuts { gap:7px; }
 .pr-shortcuts a { font-size:.69rem; padding:8px 12px; min-height:40px; }
 .pr-education-grid,.pr-tools-grid { grid-template-columns:1fr; }
 .pr-education-card { padding:24px; }
 .pr-prp-feature { display:block; }
 .pr-prp-photo img { height:230px; }
 .pr-tag { font-size:.58rem; }
 .pr-longevity-content { padding:27px 22px; }
 .pr-lifestyle-strip img { height:105px; }
 .pr-pillars article { padding:0 14px; }
 .pr-pillars h3 { font-size:.78rem; }
 .pr-pillars p { font-size:.79rem; }
 .pr-stories-empty { grid-template-columns:1fr; gap:20px; padding:25px; }
 .pr-stories-empty .button { grid-column:auto; }
 .pr-story-symbol { width:56px; height:56px; padding:14px; }
 .pr-faq-item { padding:21px; }
 .pr-faq-item summary { font-size:.97rem; }
 .pr-contact h2 { font-size:2rem; }
}
@media (prefers-reduced-motion:reduce) { .pr-main *, .pr-main *::before, .pr-main *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media print { .pr-shortcuts,.pr-faq-controls,.pr-actions { display:none !important; } .pr-section { padding:20px 0; } .pr-faq-item { break-inside:avoid; } }
.pr-main .eyebrow { color:var(--regen-teal-700); }
.pr-main .eyebrow--light,.pr-tool-feature .eyebrow { color:#c9e9ec; }
