.hb-page { --hb-cream:       #F7F2E4; --hb-grey:        #F1F1F5; --hb-green:       #f4efe4; --hb-green-dark:  #62A946; --hb-green-soft:  #eef1ec; --hb-ink:         #000000; --hb-body:        #000000; --hb-muted:       #4a4f46; --hb-on-green:    #ffffff; --hb-line:        #e2ded2;  --hb-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
--hb-sans:  'Overpass', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--hb-radius: 8px;
--hb-pill:   40px;
--hb-maxw:   1180px;
--hb-gap:    clamp(28px, 5vw, 72px);
font-family: var(--hb-sans);
font-weight: 300; color: var(--hb-body);
background: #ffffff;
-webkit-font-smoothing: antialiased;
}
.hb-page * { box-sizing: border-box; } .hb-wrap {
width: 100%;
max-width: var(--hb-maxw);
margin-inline: auto;
padding-inline: clamp(18px, 4vw, 40px);
}
.hb-section { padding-block: clamp(48px, 7vw, 96px); } .hb-eyebrow {
font-size: 14px;
letter-spacing: 2.5px;
text-transform: uppercase;
color: #82b26f;
margin-bottom: 18px;
font-weight: 500;
}
.hb-heading {
font-family: var(--hb-serif);
font-weight: 500;
font-size: clamp(30px, 4.4vw, 48px);
line-height: 1.12;
color: var(--hb-ink);
margin: 0 0 20px;
}
.hb-lead {
font-size: clamp(15px, 1.5vw, 17px);
line-height: 1.7;
max-width: 60ch;
margin: 0 0 8px;
} .hb-btn-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.hb-btn {
display: inline-block;
font-size: 18px;
font-weight: 500;
line-height: 30px;
padding: 12px 40px;
border-radius: var(--hb-pill);
text-decoration: none;
transition: background .25s ease, color .25s ease, border-color .25s ease;
border: 2px solid transparent;
cursor: pointer;
}
.hb-btn--primary {     text-align: center;
background: #fff;
color: #000;
}
.hb-hero a{
background: #82B26F !important;
color: #fff !important;
}
.hb-btn--primary:hover {    text-align: center;
background: #fff;
color: #000; }
.hb-btn--outline {
text-align: center;
background: #fff;
color: #000;
}
.hb-btn--outline:hover {    text-align: center;
background: #fff;
color: #000; } .hb-img-ph {
display: flex;
align-items: center;
justify-content: center;
min-height: 200px;
width: 100%;
background: var(--hb-green-soft);
border: 1px dashed #b9c2a5;
border-radius: var(--hb-radius);
color: #8a9472;
font-size: 13px;
letter-spacing: .05em;
} .hb-hero { background: var(--hb-green); color: var(--hb-on-green); }
.hb-hero__grid {
display: grid;
grid-template-columns: 1.05fr .95fr;
gap: var(--hb-gap);
align-items: center;
padding-block: clamp(56px, 8vw, 104px);
}
.hb-badge {
display: inline-block;
font-size: 11px;
font-weight: 600;
letter-spacing: .16em;
text-transform: uppercase;
padding: 8px 16px;
border: 1px solid #82B26F;
border-radius: 999px;
margin-bottom: 26px;
color: #82B26F;
}
.hb-hero__title {
font-family: var(--hb-serif);
font-weight: 500;
font-size: clamp(36px, 5.6vw, 60px);
line-height: 1.08;
margin: 0 0 22px;
color: #000;
}
.hb-hero__lead {
font-size: clamp(15px, 1.5vw, 17px);
line-height: 1.7;
max-width: 46ch;
opacity: 1;
margin: 0;
color:#000;
}
.hb-hero__media .hb-hero__img,
.hb-hero__media .hb-img-ph {
width: 100%;
border-radius: 14px;
display: block;
object-fit: cover;
aspect-ratio: 600 / 460;
background: rgba(255,255,255,.08);
border-color: rgba(255,255,255,.35);
color: rgba(255,255,255,.7);
}
.hb-hero .hb-btn--outline { color: #fff; border-color: rgba(255,255,255,.7); }
.hb-hero .hb-btn--outline:hover { background: #82B26F; color: #fff; } .hb-featurebar { background: var(--hb-cream); border-bottom: 1px solid var(--hb-line); }
.hb-featurebar__inner {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 10px 20px;
padding-block: 16px;
}
.hb-featurebar__item {
font-size: 13px;
font-weight: 500;
color: var(--hb-body);
white-space: nowrap;
}
.hb-featurebar__item::before {
content: "✓";
color: #82B26F;
font-weight: 700;
margin-right: 7px;
} .hb-whatis__grid {
display: grid;
grid-template-columns: 1.1fr .9fr;
gap: var(--hb-gap);
align-items: center;
}
.hb-steps { list-style: none; margin: 36px 0 0; padding: 0; display: grid; gap: 26px; }
.hb-step { display: flex; gap: 18px; align-items: flex-start; }
.hb-step__num {
flex: 0 0 auto;
width: 34px;
height: 34px;
display: grid;
place-items: center;
border-radius: 50%;
background: #82B26F;
color: #fff;
font-size: 14px;
font-weight: 600;
}
.hb-step__title { font-family: var(--hb-serif); font-size: 20px; font-weight: 600; color: var(--hb-ink); margin: 3px 0 6px; }
.hb-step__text { font-size: 14.5px; line-height: 1.65; margin: 0; }
.hb-whatis__img, .hb-whatis__media .hb-img-ph {
width: 100%;
border-radius: var(--hb-radius);
object-fit: cover;
aspect-ratio: 500 / 560;
display: block;
} .hb-strip {
padding-block: clamp(20px, 4vw, 48px);
background: #f4efe4;
}
.hb-strip__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 22px;
}
.hb-strip__card {
margin: 0;
border: 1px solid var(--hb-line);
border-radius: var(--hb-radius);
overflow: hidden;
background: #fff;
}
.hb-strip__img, .hb-strip__card .hb-img-ph {
width: 100%; display: block;
object-fit: cover; aspect-ratio: 400 / 200;
border: none; border-radius: 0;
}
.hb-strip__cap { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; }
.hb-strip__title { font-weight: 600; font-size: 15px; color: var(--hb-ink); }
.hb-strip__sub { font-size: 12.5px; color: var(--hb-body); opacity: .8; } .hb-why { background: var(--hb-grey); }
.hb-why__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-top: 36px;
}
.hb-why__tile {
background: #fff;
border: 1px solid var(--pcp-border-light);
border-left: 5px solid #82b26f;
padding: 16px 20px;
font-size: 16px;
color: #000;
line-height: 24px;
}
.hb-footnote { margin-top: 26px; font-size: 13px; font-style: italic; color: var(--hb-muted); } .hb-chambers__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
margin-top: 40px;
}
.hb-chamber {
border: 1px solid var(--hb-line);
border-radius: 14px;
overflow: hidden;
background: #fff;
display: flex;
flex-direction: column;
}
.hb-chamber__media { padding: 18px 18px 0; }
.hb-chamber__img, .hb-chamber__media .hb-img-ph {
width: 100%; display: block;
object-fit: cover; aspect-ratio: 400 / 160;
border-radius: var(--hb-radius);
}
.hb-chamber__body { padding: 22px; }
.hb-chamber__tag {
display: inline-block;
font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
color: var(--hb-green);
background: #82B26F;
padding: 6px 12px; border-radius: 999px;
margin-bottom: 14px;
}
.hb-chamber__title { font-family: var(--hb-serif); font-size: 24px; font-weight: 600; color: var(--hb-ink); margin: 0 0 4px; }
.hb-chamber__sub { font-size: 14px; font-weight: 600; color: #82B26F; margin: 0 0 16px; }
.hb-ticklist { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 9px; }
.hb-ticklist li { position: relative; padding-left: 26px; font-size: 14px; line-height: 1.5; }
.hb-ticklist li::before {
content: "✓";
position: absolute; left: 0; top: 0;
color: #82B26F; font-weight: 700;
}
.hb-chamber__note {
font-size: 13px; font-style: italic; line-height: 1.55;
color: var(--hb-body);
background: var(--hb-green-soft);
border-radius: var(--hb-radius);
padding: 14px 16px; margin: 0;
}
.hb-addon {
margin-top: 30px;
background: #82B26F; 
color: var(--hb-on-green);
border-radius: var(--hb-radius);
padding: 18px 24px;
font-size: 15px; font-weight: 500;
text-align: center;
} .hb-inside { background: var(--hb-grey); }
.hb-inside__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
margin-top: 36px;
}
.hb-inside__card {
margin: 0;
border: 1px solid var(--hb-line);
border-radius: var(--hb-radius);
overflow: hidden;
background: #fff;
}
.hb-inside__img, .hb-inside__card .hb-img-ph {
width: 100%; display: block;
object-fit: cover; aspect-ratio: 280 / 180;
border: none; border-radius: 0;
}
.hb-inside__cap { padding: 12px 14px; font-size: 13.5px; font-weight: 500; color: var(--hb-ink); text-align: center; } .hb-faq__inner { max-width: 860px; }
.hb-faq__list { margin-top: 30px; border-top: 1px solid var(--hb-line); }
.hb-faq__item { border-bottom: 1px solid var(--hb-line); }
.hb-faq__q {
cursor: pointer;
list-style: none;
font-family: var(--hb-serif);
font-size: 19px;
color: var(--hb-ink);
padding: 20px 40px 20px 0;
position: relative;
}
.hb-faq__q::-webkit-details-marker { display: none; }
.hb-faq__q::after {
content: "+";
position: absolute; right: 4px; top: 18px;
font-family: var(--hb-sans);
font-size: 24px; font-weight: 300; color: var(--hb-green);
transition: transform .2s ease;
}
.hb-faq__item[open] .hb-faq__q::after { content: "–"; }
.hb-faq__a { font-size: 14.5px; line-height: 1.7; padding: 0 0 22px; max-width: 70ch; } .hb-cta { background: #82b26f; color: var(--hb-on-green); }
.hb-cta__grid {
display: grid;
grid-template-columns: 1.05fr .95fr;
gap: var(--hb-gap);
align-items: center;
}
.hb-cta__title { font-family: var(--hb-serif); font-weight: 500; font-size: clamp(30px, 4.4vw, 46px); line-height: 1.12; color: #fff !important; margin: 0 0 18px; }
.hb-cta__lead { font-size: 16px; line-height: 1.7; opacity: .92; max-width: 46ch; margin: 0; }
.hb-cta__phone { margin-top: 22px; font-size: 17px; }
.hb-cta__phone a { color: #fff; font-weight: 600; text-decoration: underline; }
.hb-cta__img, .hb-cta__media .hb-img-ph {
width: 100%; border-radius: 14px; display: block;
object-fit: cover; aspect-ratio: 500 / 380;
background: rgba(255,255,255,.08);
border-color: rgba(255,255,255,.35); color: rgba(255,255,255,.7);
}
span.pcp-phone-ico {
margin-right: 5px;
}
.hb-disclaimer {
margin-top: 56px;
padding-top: 24px;
border-top: 1px solid rgba(255,255,255,.2);
font-size: 12px;
line-height: 1.65;
text-align: center;
opacity: .75;
max-width: 100ch;
margin-inline: auto;
}
.vistion-vox ul {
list-style: none;
padding: 0;
margin: 20px 0 20px;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0px 30px;
gap: 24px;
}
.vistion-vox ul li {
background: #efe9dc36;
border: 1px solid #e4ddcc;
border-left: 5px solid #82b26f;
padding: 16px 20px;
font-size: 16px;
color: #000;
line-height: 24px;
} @media (max-width: 980px) {
.hb-hero__grid,
.hb-whatis__grid,
.hb-cta__grid { grid-template-columns: 1fr; }
.hb-whatis__media, .hb-hero__media, .hb-cta__media { order: -1; }
.hb-why__grid { grid-template-columns: repeat(2, 1fr); }
.hb-strip__grid { grid-template-columns: 1fr 1fr; }
.hb-inside__grid { grid-template-columns: repeat(2, 1fr); }
.hb-chambers__grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
.hb-why__grid,
.hb-strip__grid,
.hb-inside__grid { grid-template-columns: 1fr; }
.hb-btn { flex: 1 1 100%; text-align: center; }
}