.hemlock-article {
–hp-green: #115228;
–hp-green-dark: #04200E;
–hp-green-soft: #EAF2ED;
–hp-cream: #FCFAF4;
–hp-paper: #F7F2E8;
–hp-sage: #B0CAB8;
–hp-sage-line: #6C8474;
–hp-gold: #C69B33;
–hp-gold-soft: #F2E6C2;
–hp-text: #233328;
–hp-muted: #5D6D62;
–hp-border: rgba(17, 82, 40, 0.18);
–hp-shadow: 0 16px 38px rgba(4, 32, 14, 0.11);
color: var(–hp-text);
font-family: system-ui, -apple-system, BlinkMacSystemFont, “Segoe UI”, sans-serif;
line-height: 1.72;
max-width: 880px;
margin: 0 auto;
}
.hemlock-article * {
box-sizing: border-box;
}
.hemlock-article a {
color: var(–hp-green);
font-weight: 700;
text-decoration-thickness: 2px;
text-underline-offset: 4px;
}
.hemlock-article a:hover,
.hemlock-article a:focus-visible {
color: var(–hp-green-dark);
}
.hemlock-article :focus-visible {
outline: 3px solid rgba(198, 155, 51, 0.62);
outline-offset: 4px;
border-radius: 8px;
}
.hemlock-article .hp-hero {
padding: 18px 0 30px;
border-bottom: 1px solid var(–hp-border);
}
.hemlock-article .hp-kicker {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(–hp-green);
font-size: 0.86rem;
font-weight: 800;
letter-spacing: 0.08em;
margin: 0 0 14px;
text-transform: uppercase;
}
.hemlock-article .hp-kicker svg,
.hemlock-article .hp-icon svg,
.hemlock-article .hp-pill svg,
.hemlock-article .hp-btn svg,
.hemlock-article .hp-svg-icon {
width: 20px;
height: 20px;
stroke-width: 2.2;
flex: 0 0 auto;
vertical-align: -0.18em;
}
.hemlock-article .hp-btn svg {
color: currentColor;
}
.hemlock-article h1,
.hemlock-article h2,
.hemlock-article h3,
.hemlock-article h4 {
color: var(–hp-green-dark);
font-family: Georgia, “Times New Roman”, serif;
letter-spacing: -0.02em;
line-height: 1.12;
}
.hemlock-article h1 {
font-size: clamp(2.35rem, 7vw, 4.75rem);
margin: 0 0 18px;
}
.hemlock-article h2 {
font-size: clamp(1.85rem, 4.5vw, 3rem);
margin: 58px 0 18px;
}
.hemlock-article h3 {
font-size: clamp(1.32rem, 3vw, 1.85rem);
margin: 34px 0 12px;
}
.hemlock-article h4 {
font-size: 1.1rem;
margin: 0 0 8px;
}
.hemlock-article p {
margin: 0 0 18px;
}
.hemlock-article .hp-deck {
color: var(–hp-muted);
font-size: clamp(1.09rem, 2vw, 1.26rem);
max-width: 760px;
}
.hemlock-article .hp-meta {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 20px;
}
.hemlock-article .hp-pill {
align-items: center;
border: 1px solid var(–hp-border);
border-radius: 999px;
color: var(–hp-green-dark);
display: inline-flex;
font-size: 0.88rem;
font-weight: 750;
gap: 8px;
padding: 8px 12px;
}
.hemlock-article .hp-lead-card,
.hemlock-article .hp-card,
.hemlock-article .hp-callout,
.hemlock-article .hp-quote-check,
.hemlock-article .hp-faq details,
.hemlock-article .hp-reference-box {
border: 1px solid var(–hp-border);
border-radius: 22px;
box-shadow: var(–hp-shadow);
}
.hemlock-article .hp-lead-card {
background: var(–hp-cream);
margin: 34px 0;
padding: clamp(20px, 4vw, 34px);
}
.hemlock-article .hp-lead-card h2 {
font-size: clamp(1.45rem, 3vw, 2rem);
margin: 0 0 12px;
}
.hemlock-article .hp-grid,
.hemlock-article .hp-risk-grid,
.hemlock-article .hp-mini-grid {
display: grid;
gap: 18px;
}
.hemlock-article .hp-grid,
.hemlock-article .hp-risk-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.hemlock-article .hp-mini-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
margin: 26px 0;
}
.hemlock-article .hp-card {
background: #fff;
padding: 22px;
}
.hemlock-article .hp-card–green {
background: var(–hp-green-soft);
}
.hemlock-article .hp-card–gold {
background: var(–hp-gold-soft);
}
.hemlock-article .hp-icon {
align-items: center;
background: #fff;
border: 1px solid var(–hp-border);
border-radius: 16px;
color: var(–hp-green);
display: inline-flex;
height: 44px;
justify-content: center;
margin-bottom: 14px;
width: 44px;
}
.hemlock-article .hp-card ul,
.hemlock-article .hp-checklist,
.hemlock-article .hp-numbered {
margin: 14px 0 0;
padding-left: 1.25rem;
}
.hemlock-article li {
margin: 8px 0;
}
.hemlock-article .hp-table-wrap {
border: 1px solid var(–hp-border);
border-radius: 22px;
box-shadow: var(–hp-shadow);
margin: 28px 0;
overflow-x: auto;
}
.hemlock-article table {
border-collapse: collapse;
min-width: 760px;
width: 100%;
}
.hemlock-article th,
.hemlock-article td {
border-bottom: 1px solid var(–hp-border);
padding: 16px;
text-align: left;
vertical-align: top;
}
.hemlock-article th {
background: var(–hp-green-dark);
color: #fff!important;
font-size: 0.9rem;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.hemlock-article tbody tr:nth-child(even) td {
background: rgba(252, 250, 244, 0.78);
}
.hemlock-article .hp-ref {
font-size: 0.68em;
font-weight: 800;
line-height: 0;
margin-left: 2px;
vertical-align: super;
}
.hemlock-article .hp-ref a {
color: var(–hp-green);
text-decoration: none;
}
.hemlock-article .hp-callout {
align-items: flex-start;
background: var(–hp-green-soft);
display: flex;
gap: 16px;
margin: 28px 0;
padding: 22px;
}
.hemlock-article .hp-callout strong {
color: var(–hp-green-dark);
}
.hemlock-article .hp-image-block {
margin: 36px 0;
}
.hemlock-article .hp-image-block img {
border-radius: 24px;
display: block;
height: auto;
width: 100%;
}
.hemlock-article .hp-image-block figcaption {
color: var(–hp-muted);
font-size: 0.92rem;
margin-top: 10px;
}
.hemlock-article .hp-cta {
background-image: linear-gradient(120deg, rgba(4, 32, 14, 0.94), rgba(17, 82, 40, 0.77)), var(–hp-cta-image);
background-position: center;
background-size: cover;
border-radius: 28px;
box-shadow: 0 22px 52px rgba(4, 32, 14, 0.23);
color: #fff;
margin: 44px 0;
overflow: hidden;
padding: clamp(24px, 5vw, 42px);
position: relative;
}
.hemlock-article .hp-cta * {
position: relative;
z-index: 1;
}
.hemlock-article .hp-cta::after {
background-image: radial-gradient(rgba(255, 255, 255, 0.26) 1px, transparent 1px);
background-size: 16px 16px;
content: “”;
inset: 0;
opacity: 0.23;
position: absolute;
}
.hemlock-article .hp-cta__logo {
display: block;
filter: brightness(0) invert(1);
height: auto;
margin-bottom: 24px;
max-width: 210px;
}
.hemlock-article .hp-cta h2,
.hemlock-article .hp-cta h3,
.hemlock-article .hp-cta p {
color: #fff;
}
.hemlock-article .hp-cta h2,
.hemlock-article .hp-cta h3 {
margin-top: 0;
}
.hemlock-article .hp-cta p {
max-width: 650px;
}
.hemlock-article .hp-buttons {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 22px;
}
.hemlock-article .hp-btn {
align-items: center;
border-radius: 999px;
display: inline-flex;
font-weight: 850;
gap: 9px;
justify-content: center;
min-height: 48px;
padding: 12px 20px;
text-decoration: none !important;
transition: transform 0.2s ease, background 0.2s ease;
}
.hemlock-article .hp-btn:hover,
.hemlock-article .hp-btn:focus-visible {
transform: translateY(-2px);
}
.hemlock-article .hp-btn–light {
background: #fff !important;
color: var(–hp-green-dark) !important;
}
.hemlock-article .hp-btn–gold {
background: var(–hp-gold) !important;
color: #fff !important;
}
.hemlock-article .hp-btn–outline {
background: transparent !important;
border: 1px solid rgba(255, 255, 255, 0.8);
color: #fff !important;
}
.hemlock-article .hp-quote-check {
background: var(–hp-cream);
margin: 34px 0;
padding: clamp(20px, 4vw, 32px);
}
.hemlock-article .hp-quote-check ol {
counter-reset: hp-step;
list-style: none;
margin: 0;
padding: 0;
}
.hemlock-article .hp-quote-check li {
border-top: 1px solid var(–hp-border);
counter-increment: hp-step;
display: grid;
gap: 6px;
grid-template-columns: 42px 1fr;
margin: 0;
padding: 18px 0;
}
.hemlock-article .hp-quote-check li:first-child {
border-top: 0;
}
.hemlock-article .hp-quote-check li::before {
align-items: center;
background: var(–hp-green);
border-radius: 50%;
color: #fff;
content: counter(hp-step);
display: inline-flex;
font-weight: 900;
height: 32px;
justify-content: center;
margin-top: 2px;
width: 32px;
}
.hemlock-article .hp-scorecard {
border: 1px solid var(–hp-border);
border-radius: 22px;
margin: 30px 0;
overflow: hidden;
}
.hemlock-article .hp-score-row {
display: grid;
grid-template-columns: 1.2fr 0.8fr 1fr;
}
.hemlock-article .hp-score-row div {
border-bottom: 1px solid var(–hp-border);
padding: 15px;
}
.hemlock-article .hp-score-row:last-child div {
border-bottom: 0;
}
.hemlock-article .hp-score-row:nth-child(odd) div {
background: rgba(252, 250, 244, 0.75);
}
.hemlock-article .hp-score-row strong {
color: var(–hp-green-dark);
}
.hemlock-article .hp-faq details {
background: #fff;
margin: 14px 0;
padding: 0;
}
.hemlock-article .hp-faq summary {
color: var(–hp-green-dark);
cursor: pointer;
font-weight: 850;
list-style: none;
padding: 20px 22px;
}
.hemlock-article .hp-faq summary::-webkit-details-marker {
display: none;
}
.hemlock-article .hp-faq details p {
border-top: 1px solid var(–hp-border);
margin: 0;
padding: 18px 22px 22px;
}
.hemlock-article .hp-references {
border-top: 1px solid var(–hp-border);
margin-top: 58px;
padding-top: 30px;
}
.hemlock-article .hp-references ol {
padding-left: 1.25rem;
}
.hemlock-article .hp-references li {
color: var(–hp-muted);
font-size: 0.92rem;
overflow-wrap: anywhere;
}
.hemlock-article .hp-seo-note {
color: var(–hp-muted);
font-size: 0.95rem;
}
@media (max-width: 760px) {
.hemlock-article {
padding: 18px;
}
.hemlock-article .hp-grid,
.hemlock-article .hp-risk-grid,
.hemlock-article .hp-mini-grid,
.hemlock-article .hp-score-row {
grid-template-columns: 1fr;
}
.hemlock-article .hp-score-row div {
border-bottom: 0;
padding: 14px 16px;
}
.hemlock-article .hp-score-row {
border-bottom: 1px solid var(–hp-border);
}
.hemlock-article .hp-score-row:last-child {
border-bottom: 0;
}
.hemlock-article .hp-callout {
display: block;
}
.hemlock-article .hp-icon {
margin-bottom: 12px;
}
}
A low painting quote can look smart at first.