.hemlock-article {
–hemlock-green: #115228;
–hemlock-green-deep: #04200E;
–hemlock-evergreen: #1C481D;
–hemlock-sage: #B0CAB8;
–hemlock-sage-deep: #6C8474;
–hemlock-gold: #C69B33;
–hemlock-gold-light: #D2AB4A;
–hemlock-paper: #DDDCC8;
–hemlock-cream: #FCFAF4;
–hemlock-white: #FFFFFE;
–hemlock-ink: #18271D;
–hemlock-muted: #637268;
–hemlock-border: rgba(17, 82, 40, 0.18);
–hemlock-shadow: 0 18px 55px rgba(4, 32, 14, 0.12);
–hemlock-radius: 22px;
color: var(–hemlock-ink);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, “Segoe UI”, sans-serif;
font-size: 17px;
line-height: 1.72;
}
.hemlock-article *,
.hemlock-article *::before,
.hemlock-article *::after {
box-sizing: border-box;
}
.hemlock-article a {
color: var(–hemlock-green);
font-weight: 720;
text-decoration: underline;
text-decoration-thickness: 0.08em;
text-underline-offset: 0.22em;
}
.hemlock-article a:hover,
.hemlock-article a:focus-visible {
color: var(–hemlock-evergreen);
text-decoration-thickness: 0.14em;
}
.hemlock-article :focus-visible {
outline: 3px solid rgba(198, 155, 51, 0.9);
outline-offset: 4px;
border-radius: 10px;
}
.hemlock-article .hemlock-article__container {
max-width: 910px;
margin: 0 auto;
padding: 0 20px 72px;
}
.hemlock-article .hemlock-kicker {
display: inline-flex;
align-items: center;
gap: 8px;
margin: 0 0 16px;
color: var(–hemlock-green);
font-size: 0.84rem;
font-weight: 780;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.hemlock-article .hemlock-kicker i,
.hemlock-article .hemlock-chip i,
.hemlock-article .hemlock-icon-title i,
.hemlock-article .hemlock-mini i {
width: 18px;
height: 18px;
stroke-width: 1.9;
}
.hemlock-article h1,
.hemlock-article h2,
.hemlock-article h3,
.hemlock-article h4 {
color: var(–hemlock-green-deep);
font-family: Georgia, “Times New Roman”, serif;
letter-spacing: -0.025em;
line-height: 1.08;
}
.hemlock-article h1 {
max-width: 880px;
margin: 0 0 16px;
font-size: clamp(2.35rem, 6vw, 4.6rem);
}
.hemlock-article h2 {
margin: 64px 0 14px;
font-size: clamp(1.72rem, 3.6vw, 2.6rem);
}
.hemlock-article h3 {
margin: 36px 0 12px;
font-size: clamp(1.28rem, 2.6vw, 1.7rem);
}
.hemlock-article h4 {
margin: 24px 0 8px;
font-size: 1.1rem;
}
.hemlock-article p {
margin: 0 0 18px;
}
.hemlock-article .hemlock-lede {
max-width: 820px;
color: #33483A;
font-size: clamp(1.06rem, 2vw, 1.24rem);
line-height: 1.65;
}
.hemlock-article .hemlock-update-row {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 18px 0 26px;
}
.hemlock-article .hemlock-chip {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border: 1px solid var(–hemlock-border);
border-radius: 999px;
color: var(–hemlock-green-deep);
font-size: 0.9rem;
font-weight: 720;
}
.hemlock-article .hemlock-quick-answer {
margin: 22px 0 28px;
padding: 22px;
border: 1px solid var(–hemlock-border);
border-left: 6px solid var(–hemlock-gold);
border-radius: var(–hemlock-radius);
background: linear-gradient(135deg, rgba(252,250,244,0.92), rgba(221,220,200,0.28));
}
.hemlock-article .hemlock-quick-answer strong {
color: var(–hemlock-green-deep);
}
.hemlock-article .hemlock-stat-row {
display: grid;
grid-template-columns: 1fr;
gap: 14px;
margin: 28px 0 8px;
}
.hemlock-article .hemlock-stat {
padding: 18px;
border: 1px solid var(–hemlock-border);
border-radius: 18px;
background: var(–hemlock-white);
box-shadow: 0 8px 24px rgba(4, 32, 14, 0.06);
}
.hemlock-article .hemlock-stat__value {
display: block;
color: var(–hemlock-green);
font-size: 1.65rem;
font-weight: 850;
line-height: 1.1;
}
.hemlock-article .hemlock-stat__label {
display: block;
margin-top: 5px;
color: var(–hemlock-muted);
font-size: 0.92rem;
}
.hemlock-article .hemlock-cta {
position: relative;
overflow: hidden;
margin: 34px 0;
padding: 28px;
border-radius: 28px;
color: var(–hemlock-white) !important;
background-image: linear-gradient(90deg, rgba(4,32,14,0.94), rgba(17,82,40,0.78)), var(–cta-img);
background-size: cover;
background-position: center;
box-shadow: var(–hemlock-shadow);
}
.hemlock-article .hemlock-cta::after {
content: “”;
position: absolute;
inset: 0;
pointer-events: none;
background-image: radial-gradient(circle at 20% 12%, rgba(255,255,255,0.16) 0 1px, transparent 2px), radial-gradient(circle at 72% 76%, rgba(255,255,255,0.12) 0 1px, transparent 2px);
background-size: 26px 26px, 34px 34px;
opacity: 0.8;
}
.hemlock-article .hemlock-cta * {
position: relative;
z-index: 1;
}
.hemlock-article .hemlock-cta__logo {
display: block;
width: 188px;
max-width: 62%;
height: auto;
margin: 0 0 18px;
filter: brightness(0) invert(1);
}
.hemlock-article .hemlock-cta h2,
.hemlock-article .hemlock-cta h3,
.hemlock-article .hemlock-cta p,
.hemlock-article .hemlock-cta li {
color: var(–hemlock-white) !important;
}
.hemlock-article .hemlock-cta h2,
.hemlock-article .hemlock-cta h3 {
margin-top: 0;
max-width: 720px;
}
.hemlock-article .hemlock-cta p {
max-width: 700px;
opacity: 0.94;
}
.hemlock-article .hemlock-cta__actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 20px;
}
.hemlock-article .hemlock-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 9px;
min-height: 48px;
padding: 12px 20px;
border-radius: 999px;
border: 2px solid transparent;
font-family: Inter, ui-sans-serif, system-ui, sans-serif;
font-size: 0.98rem;
font-weight: 820;
line-height: 1.1;
text-decoration: none !important;
transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}
.hemlock-article .hemlock-button i {
width: 18px;
height: 18px;
}
.hemlock-article .hemlock-button–gold {
background: var(–hemlock-gold) !important;
color: var(–hemlock-green-deep) !important;
box-shadow: 0 12px 26px rgba(0,0,0,0.24);
}
.hemlock-article .hemlock-button–gold:hover,
.hemlock-article .hemlock-button–gold:focus-visible {
background: var(–hemlock-gold-light) !important;
color: var(–hemlock-green-deep) !important;
transform: translateY(-2px);
}
.hemlock-article .hemlock-button–ghost {
border-color: rgba(255,255,255,0.55) !important;
background: rgba(255,255,255,0.1) !important;
color: var(–hemlock-white) !important;
}
.hemlock-article .hemlock-button–ghost:hover,
.hemlock-article .hemlock-button–ghost:focus-visible {
background: rgba(255,255,255,0.18) !important;
color: var(–hemlock-white) !important;
transform: translateY(-2px);
}
.hemlock-article .hemlock-proof-row {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 18px;
}
.hemlock-article .hemlock-proof-row span {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 7px 11px;
border-radius: 999px;
background: rgba(255,255,255,0.14);
color: var(–hemlock-white);
font-size: 0.86rem;
font-weight: 740;
}
.hemlock-article .hemlock-section-note,
.hemlock-article .hemlock-callout {
margin: 24px 0;
padding: 20px;
border-radius: var(–hemlock-radius);
border: 1px solid var(–hemlock-border);
background: rgba(252,250,244,0.72);
}
.hemlock-article .hemlock-callout–warning {
border-left: 6px solid #714810;
}
.hemlock-article .hemlock-callout–green {
border-left: 6px solid var(–hemlock-green);
}
.hemlock-article .hemlock-callout–gold {
border-left: 6px solid var(–hemlock-gold);
}
.hemlock-article .hemlock-icon-title {
display: flex;
align-items: center;
gap: 10px;
}
.hemlock-article .hemlock-icon-title i {
flex: 0 0 auto;
color: var(–hemlock-green);
}
.hemlock-article .hemlock-table-wrap {
width: 100%;
margin: 24px 0;
overflow-x: auto;
border: 1px solid var(–hemlock-border);
border-radius: 18px;
background: var(–hemlock-white);
box-shadow: 0 12px 30px rgba(4, 32, 14, 0.06);
}
.hemlock-article table {
width: 100%;
min-width: 760px;
border-collapse: collapse;
font-size: 0.96rem;
}
.hemlock-article th,
.hemlock-article td {
padding: 14px 16px;
border-bottom: 1px solid rgba(17,82,40,0.12);
text-align: left;
vertical-align: top;
}
.hemlock-article th {
color: var(–hemlock-white)!important;
background: var(–hemlock-green);
font-size: 0.84rem;
letter-spacing: 0.055em;
text-transform: uppercase;
}
.hemlock-article tbody tr:nth-child(even) td {
background: rgba(221,220,200,0.24);
}
.hemlock-article .hemlock-table-key {
margin-top: -10px;
color: var(–hemlock-muted);
font-size: 0.93rem;
}
.hemlock-article ul,
.hemlock-article ol {
margin: 0 0 20px;
padding-left: 1.25rem;
}
.hemlock-article li {
margin: 9px 0;
}
.hemlock-article .hemlock-checks {
list-style: none;
padding-left: 0;
}
.hemlock-article .hemlock-checks li {
position: relative;
padding-left: 30px;
}
.hemlock-article .hemlock-checks li::before {
content: “”;
position: absolute;
left: 0;
top: 0.62em;
width: 15px;
height: 15px;
border-radius: 50%;
background: var(–hemlock-green);
box-shadow: inset 0 0 0 4px rgba(255,255,255,0.62);
}
.hemlock-article .hemlock-estimator {
margin: 30px 0;
padding: 22px;
border: 1px solid var(–hemlock-border);
border-radius: 26px;
background: linear-gradient(135deg, rgba(252,250,244,0.95), rgba(176,202,184,0.18));
box-shadow: var(–hemlock-shadow);
}
.hemlock-article .hemlock-estimator label {
display: block;
color: var(–hemlock-green-deep);
font-size: 0.88rem;
font-weight: 780;
}
.hemlock-article .hemlock-estimator input,
.hemlock-article .hemlock-estimator select {
width: 100%;
min-height: 46px;
margin-top: 7px;
padding: 10px 12px;
border: 1px solid rgba(17,82,40,0.28);
border-radius: 14px;
color: var(–hemlock-ink);
background: var(–hemlock-white);
font: inherit;
}
.hemlock-article .hemlock-estimator__fields {
display: grid;
grid-template-columns: 1fr;
gap: 14px;
}
.hemlock-article .hemlock-estimator__result {
margin-top: 18px;
padding: 18px;
border-radius: 18px;
}
.hemlock-article .hemlock-estimator__number {
display: block;
font-size: clamp(1.8rem, 5vw, 2.6rem);
font-weight: 870;
line-height: 1.1;
}
.hemlock-article .hemlock-estimator__fineprint {
display: block;
margin-top: 8px;
font-size: 0.9rem;
}
.hemlock-article figure {
margin: 34px 0;
}
.hemlock-article figure img {
display: block;
width: 100%;
height: auto;
border-radius: 24px;
box-shadow: var(–hemlock-shadow);
}
.hemlock-article figcaption {
margin-top: 10px;
color: var(–hemlock-muted);
font-size: 0.92rem;
}
.hemlock-article .hemlock-steps {
display: grid;
grid-template-columns: 1fr;
gap: 16px;
margin: 26px 0;
}
.hemlock-article .hemlock-step {
display: grid;
grid-template-columns: auto 1fr;
gap: 16px;
padding: 18px;
border: 1px solid var(–hemlock-border);
border-radius: 20px;
background: var(–hemlock-white);
}
.hemlock-article .hemlock-step__num {
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 50%;
color: var(–hemlock-white);
background: var(–hemlock-green);
font-weight: 860;
}
.hemlock-article .hemlock-step h3 {
margin: 0 0 8px;
font-size: 1.22rem;
}
.hemlock-article .hemlock-step p {
margin-bottom: 0;
}
.hemlock-article .hemlock-mini-grid {
display: grid;
grid-template-columns: 1fr;
gap: 14px;
margin: 22px 0;
}
.hemlock-article .hemlock-mini {
padding: 18px;
border: 1px solid var(–hemlock-border);
border-radius: 20px;
background: var(–hemlock-white);
}
.hemlock-article .hemlock-mini strong {
display: flex;
align-items: center;
gap: 8px;
color: var(–hemlock-green-deep);
margin-bottom: 8px;
}
.hemlock-article .hemlock-faq details {
margin: 14px 0;
border: 1px solid var(–hemlock-border);
border-radius: 18px;
background: var(–hemlock-white);
overflow: hidden;
}
.hemlock-article .hemlock-faq summary {
cursor: pointer;
padding: 18px 20px;
color: var(–hemlock-green-deep);
font-weight: 820;
}
.hemlock-article .hemlock-faq details div {
padding: 0 20px 20px;
}
.hemlock-article sup.refs {
font-size: 0.7em;
font-weight: 750;
line-height: 0;
white-space: nowrap;
}
.hemlock-article sup.refs a {
color: var(–hemlock-green);
text-decoration: none;
}
.hemlock-article .hemlock-references {
margin-top: 64px;
padding-top: 24px;
border-top: 1px solid var(–hemlock-border);
color: var(–hemlock-muted);
font-size: 0.92rem;
}
.hemlock-article .hemlock-references h2 {
margin-top: 0;
}
.hemlock-article .hemlock-references li {
overflow-wrap: anywhere;
}
.hemlock-article .hemlock-schema-note {
display: none;
}
@media (min-width: 760px) {
.hemlock-article .hemlock-stat-row,
.hemlock-article .hemlock-mini-grid {
grid-template-columns: repeat(3, 1fr);
}
.hemlock-article .hemlock-estimator__fields {
grid-template-columns: repeat(2, 1fr);
}
.hemlock-article .hemlock-estimator__fields label:first-child {
grid-column: 1 / -1;
}
.hemlock-article .hemlock-cta {
padding: 38px;
}
}
@media (max-width: 520px) {
.hemlock-article .hemlock-article__container {
padding-left: 16px;
padding-right: 16px;
}
.hemlock-article .hemlock-cta,
.hemlock-article .hemlock-estimator,
.hemlock-article .hemlock-quick-answer {
border-radius: 20px;
padding: 20px;
}
.hemlock-article .hemlock-button {
width: 100%;
}
}
For most Vancouver homes and condos, a professionally finished smooth ceiling costs more than a simple scrape because the real work is protection, dust control, repairs, skim coating, priming, and painting.