/* ===== S E Fleming CPA — inner page sections (loads after style.css) ===== */

/* Page banner (breadcrumb) — 60% navy wash, centred title + trail */
.page-banner { position: relative; padding: 150px 0; text-align: center; color: var(--white); z-index: 0; overflow: hidden; }
.page-banner::before { content: ""; position: absolute; inset: 0; background: var(--navy); opacity: .6; z-index: -1; }
.page-banner h1 { font-size: 48px; line-height: 60px; color: var(--white); margin: 0 0 10px; }
.crumbs { font-weight: 700; font-size: 14px; line-height: 25px; }
.crumbs a:hover { color: var(--sky); }
.crumbs span { margin: 0 6px; }

/* Intro split: photo + quote badge overlapping its bottom, heading + copy right */
.intro { padding: 100px 0; }
.intro .split { grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.intro .split-img { max-width: 470px; justify-self: center; width: 100%; margin-bottom: 64px; }
.intro .split-img img { width: 100%; height: auto; border-radius: 0; }
.intro .badge-box {
  position: absolute; left: 83px; bottom: -64px; width: 303px; z-index: 1;
  background: var(--navy); color: var(--white); padding: 25px; border-radius: 5px;
  font-size: 16px; line-height: 26px;
}
.intro .badge-box p { margin: -7px 0 0; color: var(--white); white-space: nowrap; }
.intro .split-text .title { font-size: 48px; line-height: 60px; margin: 0; }
.intro .split-text p { font-size: 16px; line-height: 26px; margin: 20px 0 0; }
/* Copy written as one block with blank lines between (26px gaps) */
.intro.line-gaps .split-text p + p { margin-top: 26px; }

/* Two split rows: tinted text panel beside a full-bleed photo */
.panels { display: grid; grid-template-columns: 1fr 1fr; background: #f7f7f7; }
.panel-text { padding: 4vw; color: #000; display: flex; flex-direction: column; justify-content: center; min-height: 320px; }
.panel-text h2 { font-size: 48px; line-height: 58px; color: #3f444b; margin: 0 0 15px; }
.panel-text.tint-navy { background: rgba(21,34,44,.41); }
.panel-text.tint-sky { background: rgba(166,207,237,.58); }
.panel-text.tint-sky h2 { line-height: 42px; }
.panel-text p, .panel-text li { font-size: 16px; line-height: 20.8px; font-weight: 300; color: #000; }
.panel-text p { margin: 0 0 20.8px; }
.panel-text h2 + p { margin-top: 20.8px; }
.panel-text.no-lead h2 + p { margin-top: 0; }
.panel-text.trail p:last-child { margin-bottom: 20.8px; }
.panel-text p:last-child { margin-bottom: 0; }
.panel-text ul { list-style: none; padding: 0; margin: 0 0 41.6px; }
.panel-text ul:last-child { margin-bottom: 0; }
.panel-text li { margin: 0; display: flex; gap: 6px; align-items: baseline; }
.panel-text li::before { content: ""; flex: none; width: 14px; height: 14px; transform: translateY(2px); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm113-303L241 337c-9 9-25 9-34 0l-64-64c-9-9-9-25 0-34s25-9 34 0l47 47 111-111c9-9 25-9 34 0s9 25 0 34z'/%3E%3C/svg%3E") center / contain no-repeat; }
.panel-img { background: 50% 0 / cover no-repeat; min-height: 420px; }

/* Dark split: centred heading, copy left, photo right */
.dark-split { background: #1b252f; color: var(--white); padding: 95px 0 0; overflow: hidden; }
.dark-split > .container > h2 { text-align: center; color: #fbfbfb; font-size: 48px; line-height: 48px; font-weight: 800; margin: 0; }
.dark-split .row { display: grid; grid-template-columns: 620fr 568fr; gap: 0 66px; padding: 50px 1.1% 94px 6%; align-items: start; }
.dark-split .copy p { font-size: 16px; line-height: 26px; color: var(--white); margin: 0 0 26px; }
.dark-split .copy ul { margin: -26px 0 26px; }
.dark-split .copy li { position: relative; padding-left: 25px; font-size: 16px; line-height: 19.2px; font-weight: 500; color: #cfcfcf; }
.dark-split .copy li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%;
  background: #cfcfcf url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-4.8' fill='none' stroke='%231b252f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.dark-split .copy { margin-top: 66px; }
.dark-split .photo { background: 50% 50% / cover no-repeat; min-height: 625px; }

/* What you can expect: photo left, heading + white card grid right */
.expect { background: #f7f7f7; padding: 68px 5%; }
.expect .split { max-width: none; padding: 0; grid-template-columns: 1fr 1fr; gap: 110px; align-items: center; }
.expect .split-img img { width: 100%; height: auto; border-radius: 0; }
.expect h2 { font-size: 48px; line-height: 52.8px; color: #222; margin: 0 0 20px; }
.expect .lede { font-size: 16px; line-height: 26px; color: var(--text); margin: 0 0 20px; max-width: 439px; }
.expect-grid { display: grid; grid-template-columns: repeat(2, 220px); gap: 19px 49px; align-items: center; }
.expect-card { background: var(--white); padding: 20px; }
.expect-card h3 { font-family: var(--ff-head); font-size: 24px; line-height: 26.4px; font-weight: 600; color: #212121; margin: 0 0 16px; }
.expect-card p { font-size: 16px; line-height: 20.8px; font-weight: 300; color: #212121; margin: 0; }

/* Leadership dark band: copy left, photo right */
/* Content caps at 1320px and centres on wide screens; photo stays 640px */
.lead-dark { background: #1b252f; color: var(--white); padding: min(4.5vw, 66px) 5%; }
.lead-dark .split { max-width: 1320px; margin: 0 auto; padding: 0; grid-template-columns: minmax(0, 1fr) 640px; gap: 0; align-items: stretch; }
.lead-dark .split > div:first-child { padding-right: 48px; display: flex; flex-direction: column; justify-content: center; }
.lead-dark .split-img { padding-bottom: 35px; }
.lead-dark h2 { font-size: 48px; line-height: 57.6px; font-weight: 800; color: #fbfbfb; margin: 0 0 20px; }
.lead-dark p { font-size: 16px; line-height: 26px; color: var(--white); margin: 0 0 26px; }
.lead-dark p:last-child { margin-bottom: 0; }
.lead-dark .split-img img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }

/* Areas of focus: white-to-sky gradient cards */
.areas { background: #f7f7f7; padding: 85px 5% 61px; }
.areas h2 { text-align: center; font-size: 48px; line-height: 52.8px; color: #222; margin: 0 0 58px; }
.areas-grid { display: grid; grid-template-columns: repeat(3, 324px); justify-content: space-between; gap: 72px 0; max-width: 1216px; margin: 0 auto; }
.areas.flush-top { padding-top: 0; padding-bottom: 73px; }
.areas-grid { align-items: start; }
.area-card { text-align: center; padding: 24px; background: linear-gradient(180deg, #fff 0%, #fff 52%, #c6ddf1 100%); }
.area-card img { width: 64px; height: 64px; margin: 0 auto 15px; }
.area-card h3 { font-family: var(--ff-head); font-size: 24px; line-height: 24px; font-weight: 600; letter-spacing: -1px; color: #212121; margin: 0 0 16px; }
.area-card p { font-size: 16px; line-height: 24px; font-weight: 300; letter-spacing: 0; color: #212121; margin: 0; }
.area-card p b { font-weight: 700; }
/* Realtors: keep every card title on 1 line and every description within 3 lines */
/* equal box heights within each row */
.areas.compact-desc .areas-grid { align-items: stretch; }
.areas.compact-desc .area-card h3 { font-size: 22px; line-height: 26px; }
.areas.compact-desc .area-card p:last-child { font-size: 14px; line-height: 22px; }
@media (min-width: 992px) and (max-width: 1199px) {
  .areas.compact-desc .area-card { padding: 24px 16px; }
  .areas.compact-desc .area-card h3 { font-size: 20px; line-height: 24px; }
  .areas.compact-desc .area-card p:last-child { font-size: 13px; line-height: 20px; }
}
@media (max-width: 360px) {
  .areas.compact-desc .area-card { padding: 24px 12px; }
  .areas.compact-desc .area-card h3 { font-size: 20px; line-height: 24px; }
  .areas.compact-desc .area-card p:last-child { font-size: 13px; line-height: 20px; }
}
/* Clinical Practices has longer titles: smaller sizes keep them on one line */
.areas.compact-desc.long-titles .area-card h3 { font-size: 18px; line-height: 24px; letter-spacing: -0.5px; }
@media (min-width: 992px) and (max-width: 1199px) { .areas.compact-desc.long-titles .area-card h3 { font-size: 16px; line-height: 22px; } }
@media (max-width: 360px) { .areas.compact-desc.long-titles .area-card h3 { font-size: 16px; line-height: 22px; } }

/* Point of view CTA band over a dimmed photo */
.pov { background: var(--navy) center / cover no-repeat; color: var(--white); padding: 80px 0; text-align: center; position: relative; overflow: hidden; }
.pov::before { content: ""; position: absolute; inset: 0; background: #000; opacity: .85; }
.pov.no-photo::before { display: none; }
.pov .container { position: relative; max-width: 785px; }
.pov h2 { color: var(--white); font-size: 48px; line-height: 58px; text-transform: capitalize; margin: 0 0 30px; }
.pov p { font-size: 16px; line-height: 26px; margin: 0 0 30px; }
.btn-pill {
  display: inline-block; padding: 20px 50px; border-radius: 50px; border: 1px solid var(--white);
  color: var(--white); font-weight: 500; font-size: 16px; line-height: 16px; text-transform: capitalize;
  transition: background .3s, color .3s;
}
.btn-pill:hover { background: var(--white); color: var(--navy); }

/* Variants */
.intro .badge-box.badge-narrow { width: 290px; left: 89px; bottom: -65px; }
.intro .badge-box.badge-wide { width: 363px; left: 53px; bottom: -38px; }
.dark-split.short .photo { min-height: 403px; }
.dark-split .copy ul { margin-top: 0; }
.pov .spark { position: absolute; width: 35px; height: 35px; color: rgba(255,255,255,.35); z-index: 1; pointer-events: none; }
.pov .spark-l { left: calc(11.07% - 17.5px); top: 80px; }
.pov .spark-r { right: calc(11.07% - 17.5px); top: 189px; }

/* Alternating image/text bands (Individual Tax Returns, About Us) */
.band { padding: 4.5vw 5%; }
.band.tight { padding: 4.5vw 5%; }
.band.sky { background: rgba(166,207,237,.58); }
.band.sand { background: #ded7d7; }
.band.slate { background: #9a9fa3; }
.band.sky-solid { background: #a6cfed; }
/* Content is boxed at 1320px and centred, like the live Elementor containers */
.band .split { max-width: 1320px; margin: 0 auto; padding: 0; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.band .split-img + .band-copy { padding-right: 22px; }
.band .split-img img { width: 100%; height: auto; border-radius: 0; object-fit: cover; }
.band h2 { font-size: 48px; line-height: 52.8px; letter-spacing: -2px; color: #222; margin: 0 0 15px; }
.band p, .band li { font-size: 16px; line-height: 26px; letter-spacing: normal; color: var(--text); }
.band p { margin: 0 0 26px; }
.band p:last-child { margin-bottom: 0; }
.band.slate p, .band.slate li { color: #000; }
.band.list-tight ul { margin-top: -26px; }
.band .band-copy > ul:last-child { margin-bottom: 0; }
.band ul, .intro .split-text ul { list-style: none; padding: 0; margin: 0 0 26px; }
.band li, .intro .split-text li { position: relative; padding-left: 25px; line-height: 24px; color: #171515; }
.band li::before, .intro .split-text li::before { content: ""; position: absolute; left: 0; top: 5px; width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23171515' d='M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm113-303L241 337c-9 9-25 9-34 0l-64-64c-9-9-9-25 0-34s25-9 34 0l47 47 111-111c9-9 25-9 34 0s9 25 0 34z'/%3E%3C/svg%3E") center / contain no-repeat; }
.band.slate li { color: #000; }
.intro.photo-bg { background: center / cover no-repeat; position: relative; }
.intro.photo-bg::before { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.88); }
.intro.photo-bg.plain::before { display: none; }
.intro.photo-bg .container { position: relative; }
.intro .split-text ul { margin: 26px 0 0; }
.intro .split-text ul + p { margin-top: 26px; }
/* Individual Tax Returns intro: extra space after the copy, as on the live page */
.itr-intro .split-text ul { margin-top: 26px; }
.itr-intro .split-text { padding-bottom: 16px; }
/* Same patterned background as the live page: natural size, from the top-left, repeating, no overlay */
.itr-intro { background: url("../images/uploads/2026/02/395566778_ea564919-cf50-4a0a-ba55-2216760f3be7-scaled.jpg") 0 0 repeat; }
.intro .split-text li { font-size: 16px; line-height: 25px; color: #212529; }

/* About: intro dot pattern, tall philosophy band, bio */
.about-intro .split-img { max-width: 470px; }
.about-intro .dots { position: absolute; left: -48px; bottom: -40px; width: 150px; height: 120px; z-index: -1;
  background: radial-gradient(circle, #cfd5db 1.4px, transparent 1.6px) 0 0 / 12px 12px; }
.about-intro .split-img { z-index: 0; }
.advisory.tall .split-text p { font-size: 16px; line-height: 26px; margin: 0 0 26px; }
.advisory.tall .split-text .title + p { margin-top: 20px; }
.advisory.tall .split-text { padding-bottom: 100px; }
.advisory.tall .split-text > p:last-child { margin-bottom: 0; }
.advisory.tall .check-list { margin: -26px 0 45px; }
.advisory.tall .check-list li { font-size: 14px; line-height: 25px; margin-bottom: 0; }
.bio { background: #a6cfed; padding: 5vw 16px; }
.bio-inner { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 739fr) 551fr; gap: 29px; align-items: center; }
.bio-copy { padding: 0 66px; }
.bio h2 { font-size: 48px; line-height: 52.8px; letter-spacing: -.28px; color: #000; margin: 0 0 20px; }
.bio p { font-size: 16px; line-height: 26px; letter-spacing: 1px; color: var(--text); margin: 0 0 26px; }
.bio p:last-child { margin-bottom: 0; }
.bio-img img { width: 100%; max-width: 551px; height: auto; aspect-ratio: 551 / 600; object-fit: cover; }
.pov p + p { margin-top: -4px; }

/* About philosophy band: full-width navy from 80px down (as on the homepage),
   plus a light-grey block below the photo out to the right edge */
.advisory.split-bg { margin: 100px 0; }
.advisory.split-bg .split-img { position: relative; }
/* Desktop: photo ends where the last paragraph ends (100px box padding below the last paragraph) */
@media (min-width: 992px) {
  .advisory.split-bg .split { align-items: stretch; }
  .advisory.tall.split-bg .split-img img { height: calc(100% - 100px); min-height: 400px; object-fit: cover; }
}
.advisory.split-bg .split-img::after { content: ""; position: absolute; top: 100%; left: 0; right: -100vw; height: 100vh; background: #f8f8f8; z-index: -1; }

/* About: tall advisory variant */
.advisory.tall .split-img img { width: 540px; height: 810px; max-width: 100%; }

/* Contact */
.contact-form-wrap { padding: 150px 0 100px; }
.contact-form-box { background: #f8f8f8; border-radius: 5px; padding: 65px 60px; }
.contact-form-box h2 { font-size: 48px; line-height: 60px; margin: 0 0 20px; }
.contact-form-box p { font-size: 16px; line-height: 26px; margin: 0 0 26px; }
/* Height is managed by form_embed.js (it reveals and sizes the iframe), as on the live site */
.form-embed { margin-top: 10px; }
.form-embed iframe { display: block; width: 100%; border: 0; border-radius: 3px; }
.contact-info { padding: 100px 0 120px; }
.contact-grid { display: grid; grid-template-columns: 370px 1fr; /* wide enough for the email on one line */ gap: 30px; align-items: start; }
.info-list { display: grid; gap: 40px; align-content: start; min-width: 0; }
.info-card { min-width: 0; }
.info-card { background: var(--white); border-radius: 5px; padding: 30px; display: flex; gap: 15px; align-items: center; box-shadow: 0 10px 30px rgba(21,34,44,.08); }
.info-card .ic { width: 60px; height: 60px; border-radius: 5px; background: var(--blue-2); color: var(--white); display: grid; place-items: center; flex: none; } /* fixed size: never squashed by long text */
.info-card > div { flex: 1 1 auto; min-width: 0; }
.info-card a.info-email { overflow-wrap: anywhere; } /* one line wherever it fits; on small phones it breaks after the @ */
@media (max-width: 413px) {
  .info-card { padding: 24px 20px; gap: 12px; }
  .info-card a.info-email { font-size: 14px; }
}
.info-card .ic svg { width: 26px; height: 26px; }
.info-card h4 { font-size: 24px; line-height: 36px; margin: 0; }
.info-card a { font-size: 16px; line-height: 26px; }
.info-card a:hover { color: var(--blue-2); }
.map-frame { width: 100%; height: 450px; border: 0; border-radius: 5px; }

/* Blog list: 8/4 columns like the live Bootstrap grid (730/350 at 1140, 850/410 at 1320), 10 per page */
.blog-list { padding: 100px 0; }
.blog-layout { display: grid; grid-template-columns: minmax(0, 73fr) minmax(0, 35fr); gap: 30px; align-items: start; }
.blog-main h1 { font-size: 54px; line-height: 66px; font-weight: 500; margin: 0 0 15px; }
.postbox { margin-bottom: 50px; }
.postbox-thumb { display: block; overflow: hidden; }
/* Live keeps the photo 667px tall and crops it to the column width */
.postbox-thumb img { width: 100%; height: 667px; object-fit: cover; transition: transform .5s; }
.postbox:hover .postbox-thumb img { transform: scale(1.04); }
.postbox-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; padding: 20px 0; }
.postbox-meta li { display: flex; align-items: center; gap: 5px; font-size: 16px; line-height: 26px; color: var(--heading); }
.postbox-meta svg { width: 14px; height: 14px; color: var(--blue-2); flex: none; }
.postbox h3 { font-size: 32px; line-height: 44px; text-transform: capitalize; margin: 0 0 4px; }
.postbox h3 a:hover { color: var(--blue-2); }
/* Live cards also show a short excerpt here; it will come from the WordPress export */
.reading-time { font-size: 16px; line-height: 26px; color: var(--text); margin: 0 0 24px; }
.postbox > .btn { margin-bottom: 8px; padding: 20px 30px; }
.pagination { display: flex; gap: 20px; }
.pagination a, .pagination span { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: #f8f8f8; color: var(--heading); font-weight: 700; }
.pagination svg { width: 16px; height: 16px; }
.pagination .current, .pagination a:hover { background: var(--blue-2); color: var(--white); }
.sidebar .widget { margin-bottom: 30px; }
.widget-title { background: var(--blue-2); color: var(--white); font-size: 24px; line-height: 36px; margin: 0; padding: 20px 30px; }
.cat-list, .recent-list { background: #f8f8f8; padding: 30px; }
.cat-list li + li { margin-top: 20px; }
.cat-list a { display: flex; gap: 12px; align-items: flex-start; font-family: var(--ff-head); font-weight: 700; font-size: 18px; line-height: 28px; color: var(--heading); }
.cat-list svg { width: 14px; height: 14px; margin-top: 7px; flex: none; color: var(--blue-2); }
.cat-list a:hover { color: var(--blue-2); }
.recent-post { display: flex; gap: 19px; align-items: center; }
.recent-post + .recent-post { margin-top: 20px; }
.rp-thumb { flex: none; }
.rp-thumb img { width: 70px; height: 75px; object-fit: cover; }
.rp-date { display: flex; align-items: center; gap: 5px; font-size: 14px; line-height: 25px; color: var(--text); }
.rp-date svg { width: 13px; height: 13px; color: var(--blue-2); }
.recent-post h6 { font-size: 18px; line-height: 28px; color: #333f4d; margin: 0; }
.recent-post h6 a:hover { color: var(--blue-2); }

/* Single post (live: 730x667 photo, meta, 54px title, Roboto body, prev/next) */
.post-detail { padding: 100px 0; }
/* Let the post column shrink on small screens; long words and links wrap instead of widening it */
.post-main { min-width: 0; }
.article-body { overflow-wrap: anywhere; }
.article-body figure, .article-body img { max-width: 100%; }
.post-feature { width: 100%; height: 667px; object-fit: cover; }
.post-main .postbox-meta { padding: 20px 0; }
.post-title { font-size: 54px; line-height: 66px; text-transform: capitalize; color: var(--heading); margin: 0 0 10px; }
.article-body { font-family: "Roboto", var(--ff-body); padding-top: 25px; }
.article-body p { font-size: 16px; line-height: 26px; color: var(--text); margin: 0 0 26px; }
.article-body .post-reading-time { font-family: var(--ff-body); font-size: 14px; line-height: 25px; color: var(--text); margin: 0 0 26px; }
.article-body strong, .article-body b { font-weight: 700; }
.article-body em, .article-body i { font-style: italic; font-weight: 700; }
.article-body a { color: var(--heading); text-decoration: underline; }
.article-body a:hover { color: var(--blue-2); }
.article-body h2 { font-family: var(--ff-head); font-size: 48px; line-height: 60px; text-transform: capitalize; margin: 30px 0 0; }
.article-body h3 { font-family: var(--ff-head); font-size: 32px; line-height: 44px; margin: 0; }
.article-body h4 { font-family: var(--ff-head); font-size: 24px; line-height: 36px; margin: 20px 0 12px; }
.article-body ul, .article-body ol { padding-left: 16.8px; margin: 0 0 26px; }
.article-body li { font-family: "Roboto", var(--ff-body); }
.article-body ul + ul, .article-body ol + ol { margin-top: -26px; }
.article-body li + li { margin-top: 4px; }
.article-body ul { list-style: disc; }
.article-body ol { list-style: decimal; }
.article-body li { font-size: 14px; line-height: 25px; color: #7a7a7a; }
/* Live posts put photos in <figure>: full column width, 16px below, centred grey caption */
.article-body figure { margin: 0 0 16px; }
.article-body img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; }
.article-body p > img { margin: 0 0 16px; }
.article-body figcaption { font-size: 14px; line-height: 25px; color: #7a7a7a; text-align: center; }
/* Live pull quotes are plain text blocks (no border or background) */
.article-body blockquote { margin: 0 0 26px; padding: 0; border: 0; background: none; }
.article-body blockquote p { margin-bottom: 0; }
.article-body table { width: 100%; border-collapse: collapse; margin: 0 0 26px; font-size: 14px; line-height: 25px; color: #7a7a7a; }
.article-body th, .article-body td { border: 1px solid #7a7a7a; padding: 5px 10px; text-align: left; vertical-align: top; }
.article-body td p, .article-body th p { margin: 0; font-size: 14px; line-height: 25px; color: #7a7a7a; }
.post-table-wrap { overflow-x: auto; margin: 0 0 26px; }
.post-table-wrap table { margin: 0; }
.post-placeholder { border: 1px dashed rgba(38,76,125,.45); border-radius: 5px; padding: 26px; background: #fbfcfd; }
.post-placeholder code { font-size: 14px; background: #eef1f4; padding: 1px 6px; border-radius: 3px; }
.postbox-excerpt { font-size: 16px; line-height: 26px; color: var(--text); margin: -24px 0 24px; }
.post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 30px; }
.post-nav-item span { display: block; font-size: 14px; line-height: 25px; color: #212529; }
.post-nav-item h4 { font-size: 24px; line-height: 36px; font-weight: 600; margin: 0; }
.post-nav-item h4 a:hover { color: var(--blue-2); }
.post-nav-item.next { text-align: right; }

/* Legal pages (live: 1110px box, 40px 60px padding, Rubik body, Rajdhani 24/20px headings) */
.legal { padding: 100px 0; }
.legal-body { max-width: 1110px; margin: 0 auto; padding: 40px 60px; }
.legal-body p { font-size: 16px; line-height: 26px; color: #666; margin: 0 0 16px; }
.legal-body > p:first-child { margin-bottom: 24px; }
.legal-body strong { font-weight: 700; }
.legal-body a { color: var(--heading); text-decoration: underline; overflow-wrap: anywhere; }
.legal-body a:hover { color: var(--blue-2); }
.legal-body h2 { font-family: var(--ff-head); font-size: 24px; line-height: 60px; font-weight: 500; color: #000; margin: 0; }
.legal-body h3 { font-family: var(--ff-head); font-size: 20px; line-height: 44px; font-weight: 500; color: #000; margin: 0; }
/* Live lists sit 8px under the lead-in line and run straight into the next block */
.legal-body ul { list-style: none; padding: 0; margin: -8px 0 0; }
.legal-body li { position: relative; padding-left: 15px; font-size: 16px; line-height: 25.6px; color: #333; }
.legal-body li::before { content: "•"; position: absolute; left: 0; top: 0; }
.legal-body li strong { color: #333; }
:target { scroll-margin-top: 160px; }
/* Terms of Use: Roboto body, bold section titles, a blank line (26px) between blocks */
.legal-body.terms { max-width: 1090px; padding: 0; font-family: "Roboto", var(--ff-body); }
.legal-body.terms p { font-family: inherit; font-size: 16px; line-height: 26px; color: var(--text); margin: 0 0 26px; }
.legal-body.terms > p:first-child { margin-bottom: 26px; }
.legal-body.terms ul { margin: -26px 0 26px; }
.legal-body.terms li { font-family: inherit; font-size: 14px; line-height: 25px; color: #7a7a7a; }

/* Placeholder marker for copy still to be pasted */
.ph { outline: 1px dashed rgba(38,76,125,.35); outline-offset: 2px; }

/* ===== Responsive ===== */
@media (min-width: 1400px) {
  .intro .split-img { max-width: 560px; }
}
@media (max-width: 1365px) {
  .areas-grid { grid-template-columns: repeat(3, minmax(0, 324px)); gap: 60px 30px; }
}
@media (max-width: 1199px) {
  /* dots: hidden below 1200px, where they would be clipped at the left edge */
  .about-intro .dots { display: none; }
  .blog-layout { grid-template-columns: minmax(0, 73fr) minmax(0, 35fr); }
  .expect .split { gap: 50px; }
  .expect-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px 24px; }
  .dark-split .row { gap: 0 40px; padding: 50px 4% 80px; }
}
@media (max-width: 991px) {
  .page-banner { padding: 100px 0; }
  .page-banner h1 { font-size: 38px; line-height: 48px; }
  .intro { padding: 80px 0; }
  .intro .split, .expect .split, .lead-dark .split, .band .split { grid-template-columns: 1fr; gap: 40px; }
  .band .split > .band-copy { order: 2; }
  .band { padding: 60px 6%; }
  .lead-dark .split > div:first-child { padding-right: 0; }
  .lead-dark .split-img { padding-bottom: 0; }
  .intro .split-img { margin-bottom: 70px; }
  .panels { grid-template-columns: 1fr; }
  .panels .panel-img:nth-child(2) { order: 2; }
  .panels .panel-img:nth-child(3) { order: 3; }
  .panels .panel-text:nth-child(4) { order: 4; }
  .panel-text { padding: 50px 6%; min-height: 0; }
  .panel-text h2, .dark-split > .container > h2, .expect h2, .lead-dark h2, .areas h2, .pov h2, .band h2, .contact-form-box h2, .intro .split-text .title { font-size: 36px; line-height: 1.25; }
  .dark-split { padding-top: 70px; }
  .dark-split .row { grid-template-columns: 1fr; padding: 40px 6% 0; }
  .dark-split .copy { margin-top: 0; }
  .dark-split .photo { min-height: 420px; margin: 0 -6.4%; }
  .expect, .lead-dark { padding: 60px 6%; }
  .areas, .areas.flush-top { padding: 70px 6%; }
  .areas-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  .contact-grid { grid-template-columns: 1fr; }
  .info-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 20px; } /* cards stay wide enough for the email */
  .blog-layout { grid-template-columns: 1fr; }
  .postbox-thumb img { height: auto; aspect-ratio: 730 / 667; }
  .post-feature { height: auto; aspect-ratio: 730 / 667; }
  .post-detail { padding: 80px 0; }
  .blog-list { padding: 80px 0; }
  .advisory.tall .split-img img { width: 100%; height: 520px; }
  .bio { padding: 60px 6%; }
  .bio-inner { grid-template-columns: 1fr; gap: 40px; }
  .advisory.split-bg { background: var(--navy); }
  .advisory.split-bg .split-img::after { display: none; }
  .advisory.split-bg { margin: 48px 0; }
  .bio-copy { padding: 0; }
  .bio h2 { font-size: 36px; line-height: 1.25; }
  .about-intro .dots { display: none; }
}
@media (max-width: 767px) {
  /* Bigger breadcrumb tap area */
  .crumbs a { display: inline-block; padding: 6px 0; }
  .pov .spark { display: none; }
  .intro .badge-box p { white-space: normal; }
  .intro .badge-box.badge-narrow, .intro .badge-box.badge-wide { width: auto; left: auto; bottom: auto; }
  .page-banner { padding: 70px 0; }
  .page-banner h1 { font-size: 30px; line-height: 38px; }
  .intro { padding: 64px 0; }
  .intro .split-img { margin-bottom: 0; }
  .intro .badge-box { position: relative; left: auto; bottom: auto; width: auto; margin: -40px 16px 0; }
  .panel-text { padding: 40px 16px; }
  .panel-img { min-height: 260px; }
  .panel-text h2, .dark-split > .container > h2, .expect h2, .lead-dark h2, .areas h2, .pov h2, .band h2, .contact-form-box h2, .intro .split-text .title { font-size: 30px; line-height: 1.25; }
  .dark-split { padding-top: 56px; }
  .dark-split .row { padding: 30px 16px 0; }
  .dark-split .photo { min-height: 280px; margin: 0 -16px; }
  .expect, .lead-dark { padding: 56px 16px; }
  .expect-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .expect-card { padding: 16px; }
  .expect-card h3 { font-size: 20px; line-height: 24px; }
  .areas, .areas.flush-top { padding: 56px 16px; }
  .areas h2 { margin-bottom: 36px; }
  .areas-grid { grid-template-columns: 1fr; gap: 24px; }
  .pov { padding: 64px 0; }
  .pov p br { display: none; }
  .btn-pill { padding: 16px 30px; }
  .contact-form-box { padding: 36px 16px; }
  .form-embed { margin-top: 10px; }
  .contact-form-wrap { padding: 64px 0; }
  .contact-info { padding: 64px 0; }
  .map-frame { height: 320px; }
  .blog-main h1 { font-size: 40px; line-height: 50px; }
  .postbox h3 { font-size: 24px; line-height: 32px; }
  .post-title { font-size: 34px; line-height: 42px; }
  .article-body h2 { font-size: 30px; line-height: 38px; }
  .post-nav { grid-template-columns: 1fr; gap: 16px; }
  .post-nav-item.next { text-align: left; }
  .post-detail { padding: 64px 0; }
  .legal { padding: 48px 0; }
  .legal-body { padding: 24px 0; }
  .legal-body h2 { line-height: 34px; margin: 10px 0 8px; }
  .legal-body h3 { line-height: 30px; margin: 6px 0 4px; }
  .band, .band.tight { padding: 48px 16px; }
  .band h2 { letter-spacing: -1px; }
  .advisory.tall .split-img img { height: 360px; }
  .bio { padding: 48px 16px; }
  .bio h2 { font-size: 30px; }
  .bio p { letter-spacing: .5px; }
}
@media (max-width: 420px) {
  .expect-grid { grid-template-columns: 1fr; }
}

/* Elementor text widgets on the live site use no letter-spacing (headings and intro keep the global 0.5px) */
.panel-text p, .panel-text li,
.dark-split .copy p, .dark-split .copy li,
.expect-card p, .expect .lede,
.lead-dark p,
.pov p { letter-spacing: normal; }

/* ===== Cannabis Accounting page (High Life Accounting content) ===== */
.cn-eyebrow { font-family: var(--ff-head); font-size: 18px; line-height: 24px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--blue); margin: 0 0 12px; }
.cannabis-page .intro .split-text .cn-eyebrow { margin: 0 0 12px; font-size: 18px; line-height: 24px; }
.cannabis-page .intro .split-img { margin-bottom: 0; }
.cannabis-page .intro .split-text .title { font-size: 44px; line-height: 54px; }
.cannabis-page .intro .split-text .cn-note { font-size: 14px; line-height: 22px; font-style: italic; color: #4a4f57; }
.cn-about h2 { font-size: 40px; line-height: 48px; }
.cn-about .lede { max-width: none; }
.cn-about .expect-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; margin-top: 10px; }
.cn-about .expect-card h3 { font-size: 22px; line-height: 26px; margin-bottom: 10px; }
.cn-services { padding-top: 85px; }
.cn-services .cn-eyebrow, .cn-services h2 { text-align: center; }
.cn-services h2 { max-width: 820px; margin-left: auto; margin-right: auto; }
.cn-ico { display: block; width: 64px; height: 64px; margin: 0 auto 15px; color: var(--blue); }
.cn-help .copy h3 { font-size: 30px; line-height: 38px; color: #fbfbfb; margin: 0 0 20px; }
.cn-help .copy ul { margin-top: 0; }
.cn-help .copy li + li { margin-top: 12px; }
.cn-rules { background: #f7f7f7; padding: 85px 0; text-align: center; }
.cn-rules h2 { font-size: 48px; line-height: 52.8px; color: #222; margin: 0 0 36px; }
.cn-pillars { list-style: none; padding: 0; margin: 0 0 80px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.cn-pillars li { background: var(--white); padding: 28px 24px; font-family: var(--ff-head); font-size: 22px; line-height: 28px; font-weight: 600; color: #212121; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.cn-pillars span { font-size: 40px; line-height: 40px; font-weight: 700; color: var(--blue); }
.cn-rule-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; align-items: stretch; }
.cn-rule { background: linear-gradient(180deg, #fff 0%, #fff 52%, #c6ddf1 100%); padding: 32px 26px; }
.cn-num { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--blue-2); color: var(--white); font-family: var(--ff-head); font-size: 24px; font-weight: 700; margin-bottom: 16px; }
.cn-rule h3 { font-size: 26px; line-height: 30px; color: #212121; margin: 0 0 12px; }
.cn-rule p { font-size: 16px; line-height: 24px; font-weight: 300; color: #212121; margin: 0; }
.cn-why .cn-eyebrow { color: #a6cfed; }
.cn-why h2 { font-size: 40px; line-height: 48px; }
.cn-why .split-img img { aspect-ratio: 4 / 3; }
.cn-reasons { max-width: 1320px; margin: 40px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; align-items: stretch; }
.cn-reason { background: rgba(255,255,255,.06); border-top: 3px solid #a6cfed; padding: 28px 26px; }
.cn-reason h3 { font-size: 24px; line-height: 28px; color: #fbfbfb; margin: 0 0 12px; }
.lead-dark .cn-reason p { font-size: 15px; line-height: 24px; margin: 0; color: #e6e6e6; }
.cannabis-page .pov .cn-eyebrow { color: #a6cfed; }
.cannabis-page .pov .container { max-width: 860px; }
.cannabis-page .pov p.cn-update { font-size: 14px; line-height: 22px; font-style: italic; color: #cfcfcf; margin: 36px 0 0; }
@media (max-width: 1199px) {
  .cannabis-page .intro .split-text .title { font-size: 38px; line-height: 46px; }
  .cn-reason, .cn-rule { padding: 24px 20px; }
}
@media (max-width: 991px) {
  .cannabis-page .intro .split-img { max-width: 420px; }
  .cn-about h2, .cn-why h2, .cn-rules h2 { font-size: 36px; line-height: 1.25; }
  .cn-about .split-img { max-width: 520px; margin: 0 auto; }
  .cn-rules { padding: 70px 6%; }
  .cn-rules > .container { padding: 0; }
  .cn-pillars { margin-bottom: 60px; gap: 20px; }
  .cn-rule-grid, .cn-reasons { grid-template-columns: 1fr; gap: 20px; max-width: 620px; margin-left: auto; margin-right: auto; }
  .cn-help .copy h3 { font-size: 26px; line-height: 32px; }
}
@media (max-width: 767px) {
  .cannabis-page .intro .split-text .title, .cn-about h2, .cn-why h2, .cn-rules h2 { font-size: 30px; line-height: 1.25; }
  .cn-eyebrow, .cannabis-page .intro .split-text .cn-eyebrow { font-size: 16px; line-height: 22px; }
  .cn-rules { padding: 56px 16px; }
  .cn-pillars { grid-template-columns: 1fr; gap: 14px; margin-bottom: 48px; }
  .cn-pillars li { padding: 20px 16px; font-size: 20px; line-height: 26px; }
  .cn-pillars span { font-size: 32px; line-height: 32px; }
  .cn-about .expect-grid { grid-template-columns: 1fr; }
  .cn-help .copy h3 { font-size: 22px; line-height: 28px; }
}
