/* =========================================================
   GrantHub Ireland: business section (added October 2026)
   Loaded after main.css. Uses the same colour tokens.
   ========================================================= */

:root {
  --bz-open: #2f7d4a;
  --bz-open-bg: #e9f5ed;
  --bz-closed: #a33b2f;
  --bz-closed-bg: #fbecea;
  --bz-wait: #8a5a12;
  --bz-wait-bg: #fdf3e2;
  --bz-grey: #4a5568;
  --bz-grey-bg: #eef0f4;
}

/* ---------- header tweaks on business pages ---------- */
.bz .nav-links { gap: 1.15rem; }
@media (min-width: 800px) and (max-width: 1020px) {
  .bz .nav-links { gap: .8rem; }
  .bz .nav-links a { font-size: .9rem; }
  .bz .brand-logo { height: 32px; }
}

/* ---------- page hero ---------- */
.bz-hero { background: linear-gradient(135deg, #f4ede0 0%, #fbfaf6 100%); border-bottom: 1px solid var(--c-line); padding: var(--space-2) 0 var(--space-4); }
.bz-hero h1 { margin: .2rem 0 .6rem; max-width: 22em; }
.bz-hero .hero-lead { margin-bottom: var(--space-2); max-width: 46em; }
.bz-hero .crumbs { padding-top: .3rem; margin-bottom: var(--space-2); }
.bz-updated { color: var(--c-muted); font-size: .9rem; margin: .8rem 0 0; }

/* status and "can a local business get it" */
.bz-status { display: grid; gap: .7rem; grid-template-columns: 1fr; margin-top: var(--space-2); max-width: 880px; }
@media (min-width: 760px) { .bz-status { grid-template-columns: 1fr 1fr; } }
.bz-stat { display: flex; gap: .7rem; align-items: flex-start; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); padding: .75rem .9rem; }
.bz-stat p { margin: 0; font-size: .96rem; line-height: 1.45; color: var(--c-ink-soft); }
.bz-stat b { display: block; color: var(--c-ink); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .1rem; }
.bz-chip { display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; font-weight: 700; padding: .22rem .6rem; border-radius: 999px; white-space: nowrap; line-height: 1.3; }
.bz-chip::before { content: ""; width: .5em; height: .5em; border-radius: 50%; background: currentColor; }
.bz-chip--open, .bz-chip--yes { color: var(--bz-open); background: var(--bz-open-bg); }
.bz-chip--closed, .bz-chip--no { color: var(--bz-closed); background: var(--bz-closed-bg); }
.bz-chip--paused, .bz-chip--changing, .bz-chip--some { color: var(--bz-wait); background: var(--bz-wait-bg); }
.bz-chip--not-launched { color: var(--bz-grey); background: var(--bz-grey-bg); }

/* ---------- key facts ---------- */
.bz-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .7rem; margin: var(--space-3) 0; padding: 0; list-style: none; }
.bz-facts li { background: var(--c-info-bg); border: 1px solid #d0dcef; border-radius: var(--r-md); padding: .8rem .95rem; margin: 0; }
.bz-facts span { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--c-muted); font-weight: 700; margin-bottom: .15rem; }
.bz-facts strong { display: block; font-size: 1.02rem; line-height: 1.35; color: var(--c-brand-deep); font-weight: 600; }

/* ---------- article body ---------- */
.bz-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); align-items: start; }
@media (min-width: 1000px) { .bz-layout { grid-template-columns: minmax(0, 720px) minmax(0, 1fr); } }
.bz-body h2 { scroll-margin-top: 5.5rem; }
.bz-body ul, .bz-body ol { padding-left: 1.3rem; }
.bz-body li { margin-bottom: .45rem; }
.bz-side { position: static; display: grid; gap: var(--space-2); }
@media (min-width: 1000px) { .bz-side { position: sticky; top: 5.2rem; } }
.bz-toc { background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); padding: .9rem 1.1rem; font-size: .95rem; }
.bz-toc b { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--c-muted); margin-bottom: .4rem; }
.bz-toc ol { margin: 0; padding-left: 1.2rem; }
.bz-toc li { margin: .3rem 0; }
.bz-toc a { text-decoration: none; }
.bz-toc a:hover { text-decoration: underline; }
@media (max-width: 999px) { .bz-toc { display: none; } }

.bz-steps { list-style: none; counter-reset: st; padding: 0 !important; margin: 1rem 0 1.2rem; }
.bz-steps li { counter-increment: st; position: relative; padding: .1rem 0 .1rem 2.9rem; margin-bottom: .9rem; min-height: 2.1rem; }
.bz-steps li::before { content: counter(st); position: absolute; left: 0; top: 0; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--c-brand); color: #fff; font-weight: 700; display: grid; place-items: center; font-size: .98rem; }
.bz-note { border-left: 4px solid var(--c-accent); background: var(--c-warn-bg); padding: .85rem 1.1rem; border-radius: 0 var(--r-md) var(--r-md) 0; margin: 1.1rem 0; }
.bz-note p { margin: 0; }
.bz-table { overflow-x: auto; margin: 1rem 0 1.3rem; border: 1px solid var(--c-line); border-radius: var(--r-md); background: #fff; }
.bz-table table { border-collapse: collapse; width: 100%; font-size: .95rem; min-width: 480px; }
.bz-table th, .bz-table td { padding: .6rem .8rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--c-line); }
.bz-table th { background: var(--c-info-bg); color: var(--c-brand-deep); font-size: .88rem; }
.bz-table tr:last-child td { border-bottom: 0; }

/* tick-off checklists */
.bz-check { list-style: none; padding: 0 !important; margin: 1rem 0 1.2rem; }
.bz-check li { margin: 0 0 .5rem; }
.bz-check label { display: flex; gap: .7rem; align-items: flex-start; font-weight: 400; margin: 0; padding: .65rem .8rem; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); cursor: pointer; }
.bz-check input { width: 1.25rem; height: 1.25rem; margin: .2rem 0 0; flex: none; accent-color: var(--c-success); }
.bz-check input:checked + span { color: var(--c-muted); text-decoration: line-through; text-decoration-color: rgba(90,100,120,.5); }
.bz-check-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; font-size: .92rem; color: var(--c-muted); margin: -.4rem 0 1.2rem; }
.bz-check-bar button, .bz-linkbtn { font: inherit; background: none; border: 0; padding: 0; color: var(--c-brand); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

.bz-budget { display: flex; gap: .8rem; background: #fff; border: 1px dashed var(--c-accent); border-radius: var(--r-md); padding: .85rem 1rem; margin: 1.4rem 0; }
.bz-budget b { color: var(--c-accent-deep); white-space: nowrap; }
.bz-budget p { margin: 0; }

.bz-sources { font-size: .93rem; color: var(--c-ink-soft); border-top: 1px solid var(--c-line); margin-top: var(--space-4); padding-top: var(--space-2); }
.bz-sources h2 { font-size: 1.05rem; font-family: inherit; margin: 0 0 .5rem; }
.bz-sources ul { padding-left: 1.2rem; margin: 0 0 .6rem; }
.bz-sources li { margin-bottom: .25rem; overflow-wrap: anywhere; }
.bz-small { font-size: .9rem; color: var(--c-muted); }

/* ---------- the plan pack box ---------- */
.bz-pack { background: var(--c-brand); color: #fff; border-radius: var(--r-lg); padding: 1.25rem 1.35rem 1.35rem; margin: var(--space-3) 0; box-shadow: var(--shadow-md); }
.bz-pack small { display: block; text-transform: uppercase; letter-spacing: .07em; font-size: .74rem; font-weight: 700; color: #f0c690; margin-bottom: .3rem; }
.bz-pack h2, .bz-pack h3 { color: #fff; margin: 0 0 .45rem; font-size: 1.3rem; }
.bz-pack p { color: rgba(255,255,255,.9); margin: 0 0 .8rem; font-size: .98rem; }
.bz-pack ul { margin: 0 0 .9rem; padding-left: 1.2rem; color: rgba(255,255,255,.92); font-size: .96rem; }
.bz-pack li { margin-bottom: .25rem; }
.bz-pack-row { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.1rem; }
.bz-pack-price { font-family: Georgia, serif; font-size: 1.7rem; font-weight: 700; color: #fff; }
.bz-pack-fine { font-size: .86rem; color: rgba(255,255,255,.78); margin: .7rem 0 0 !important; }
.bz-btn { font: inherit; font-weight: 700; display: inline-block; text-decoration: none; background: var(--c-accent); color: #fff; border: 2px solid var(--c-accent); padding: .78rem 1.2rem; border-radius: var(--r-md); cursor: pointer; line-height: 1.25; text-align: center; }
.bz-btn:hover, .bz-btn:focus { background: var(--c-accent-deep); border-color: var(--c-accent-deep); color: #fff; }
.bz-btn--ghost { background: transparent; color: var(--c-brand); border-color: var(--c-brand); }
.bz-btn--ghost:hover, .bz-btn--ghost:focus { background: var(--c-brand); color: #fff; border-color: var(--c-brand); }
.bz-btn--navy { background: var(--c-brand); border-color: var(--c-brand); }
.bz-btn--navy:hover, .bz-btn--navy:focus { background: var(--c-brand-deep); border-color: var(--c-brand-deep); }
.bz-pack .bz-btn--ghost { color: #fff; border-color: rgba(255,255,255,.6); }
.bz-pack .bz-btn--ghost:hover { background: #fff; color: var(--c-brand); border-color: #fff; }
.bz-btn[disabled] { opacity: .55; cursor: not-allowed; }

/* ---------- cards and index pages ---------- */
.bz-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1rem; padding: 0; margin: var(--space-3) 0; list-style: none; }
.bz-card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; gap: .45rem; box-shadow: var(--shadow-sm); margin: 0; }
.bz-card h3 { margin: 0; font-size: 1.12rem; line-height: 1.3; }
.bz-card h3 a { text-decoration: none; color: var(--c-brand-deep); }
.bz-card h3 a:hover { text-decoration: underline; }
.bz-card p { margin: 0; font-size: .95rem; color: var(--c-ink-soft); line-height: 1.5; }
.bz-card .bz-chips { margin-top: auto; padding-top: .4rem; }
.bz-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.bz-card[hidden] { display: none; }
.bz-filter { display: flex; flex-wrap: wrap; gap: .5rem .6rem; align-items: center; margin: var(--space-2) 0 0; }
.bz-filter input[type="search"] { flex: 1 1 220px; max-width: 340px; padding: .6rem .8rem; }
.bz-pill { font: inherit; font-size: .9rem; font-weight: 600; border: 1px solid #c4ccd6; background: #fff; color: var(--c-ink); border-radius: 999px; padding: .42rem .9rem; cursor: pointer; }
.bz-pill[aria-pressed="true"] { background: var(--c-brand); border-color: var(--c-brand); color: #fff; }
.bz-count { font-size: .92rem; color: var(--c-muted); margin: .7rem 0 0; }
.bz-related { background: #fff; border-top: 1px solid var(--c-line); margin-top: var(--space-4); padding: var(--space-4) 0; }
.bz-related h2 { margin-top: 0; }

/* ---------- hub ---------- */
.bz-hub-hero { background: var(--c-brand); color: #fff; padding: clamp(1.8rem, 5vw, 3.4rem) 0; }
.bz-hub-hero h1 { color: #fff; font-size: clamp(2rem, 5vw, 3rem); margin: 0 0 .7rem; max-width: 17em; }
.bz-hub-hero p { color: rgba(255,255,255,.9); font-size: 1.15rem; max-width: 40em; margin: 0 0 1.2rem; }
.bz-hub-hero .crumbs, .bz-hub-hero .crumbs a, .bz-hub-hero .crumbs span { color: rgba(255,255,255,.75); }
.bz-hub-ctas { display: flex; flex-wrap: wrap; gap: .8rem; }
.bz-hub-hero .bz-btn--ghost { color: #fff; border-color: rgba(255,255,255,.6); }
.bz-hub-hero .bz-btn--ghost:hover { background: #fff; color: var(--c-brand); border-color: #fff; }
.bz-hub-trust { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; list-style: none; padding: 0; margin: 1.3rem 0 0; font-size: .95rem; color: rgba(255,255,255,.9); }
.bz-hub-trust li::before { content: ""; display: inline-block; width: .55em; height: .55em; border-radius: 50%; background: var(--c-accent); margin-right: .5em; vertical-align: .1em; }
.bz-sec { padding: var(--space-4) 0; }
.bz-sec + .bz-sec { border-top: 1px solid var(--c-line); }
.bz-sec > .container > h2:first-child { margin-top: 0; }
.bz-sec--white { background: #fff; }
.bz-doors { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin-top: var(--space-3); }
.bz-door { display: block; background: #fff; border: 2px solid var(--c-line); border-radius: var(--r-lg); padding: 1.15rem 1.2rem; text-decoration: none; color: inherit; transition: border-color .15s ease, transform .15s ease; }
.bz-door:hover, .bz-door:focus { border-color: var(--c-brand); transform: translateY(-2px); color: inherit; }
.bz-door b { display: block; font-family: Georgia, serif; font-size: 1.25rem; color: var(--c-brand-deep); margin-bottom: .25rem; }
.bz-door span { display: block; font-size: .95rem; color: var(--c-ink-soft); line-height: 1.45; }
.bz-door em { display: block; font-style: normal; font-size: .85rem; font-weight: 700; color: var(--c-accent-deep); margin-top: .55rem; }
.bz-truth { display: grid; gap: 1rem; grid-template-columns: 1fr; margin-top: var(--space-3); }
@media (min-width: 800px) { .bz-truth { grid-template-columns: 1fr 1fr; } }
.bz-truth > div { border-radius: var(--r-lg); padding: 1.1rem 1.25rem; }
.bz-truth h3 { margin: 0 0 .5rem; font-size: 1.15rem; }
.bz-truth ul { margin: 0; padding-left: 1.2rem; }
.bz-truth li { margin-bottom: .35rem; }
.bz-truth-no { background: var(--bz-closed-bg); }
.bz-truth-yes { background: var(--bz-open-bg); }
.bz-list-plain { list-style: none; padding: 0; margin: 0; }
.bz-change { display: flex; gap: .7rem; align-items: baseline; padding: .6rem 0; border-bottom: 1px solid var(--c-line); margin: 0; }
.bz-change:last-child { border-bottom: 0; }
.bz-change .bz-chip { flex: none; }
.bz-change p { margin: 0; font-size: .97rem; }

/* ---------- county pages ---------- */
.bz-office { background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 1.1rem 1.25rem; margin: 0 0 1rem; box-shadow: var(--shadow-sm); }
.bz-office h3 { margin: 0 0 .6rem; }
.bz-dl { display: grid; grid-template-columns: 1fr; gap: .1rem .9rem; margin: 0; font-size: .97rem; }
@media (min-width: 560px) { .bz-dl { grid-template-columns: 9.5rem 1fr; } }
.bz-dl dt { color: var(--c-muted); font-weight: 600; font-size: .88rem; padding-top: .35rem; }
.bz-dl dd { margin: 0; padding: .1rem 0 .35rem; overflow-wrap: anywhere; }
@media (min-width: 560px) { .bz-dl dt { padding-top: .2rem; } .bz-dl dd { padding: .1rem 0 .45rem; } }
.bz-scheme { display: grid; grid-template-columns: 1.7rem 1fr; gap: .2rem .6rem; padding: .75rem 0; border-bottom: 1px solid var(--c-line); }
.bz-scheme:last-child { border-bottom: 0; }
.bz-scheme i { font-style: normal; width: 1.5rem; height: 1.5rem; border-radius: 50%; display: grid; place-items: center; font-size: .85rem; font-weight: 700; margin-top: .15rem; }
.bz-scheme .y { background: var(--bz-open-bg); color: var(--bz-open); }
.bz-scheme .n { background: var(--bz-grey-bg); color: var(--bz-grey); }
.bz-scheme b { display: block; }
.bz-scheme p { margin: .15rem 0 0; font-size: .96rem; color: var(--c-ink-soft); }
.bz-countygrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .5rem; padding: 0; margin: var(--space-3) 0; list-style: none; }
.bz-countygrid a { display: block; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); padding: .65rem .8rem; text-decoration: none; font-weight: 600; }
.bz-countygrid a:hover { border-color: var(--c-brand); }
.bz-countygrid li { margin: 0; }
.bz-countygrid small { display: block; font-weight: 400; color: var(--c-muted); font-size: .82rem; }

/* ---------- tools ---------- */
.bz-tool { background: #fff; border: 2px solid var(--c-brand); border-radius: var(--r-lg); padding: 1.15rem 1.25rem 1.3rem; margin: var(--space-3) 0; box-shadow: var(--shadow-md); }
.bz-tool > small { display: inline-block; background: var(--c-brand); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; padding: .2rem .55rem; border-radius: 999px; margin-bottom: .5rem; }
.bz-tool h2, .bz-tool h3 { margin: 0 0 .3rem; font-size: 1.3rem; }
.bz-tool .bt-intro { color: var(--c-ink-soft); margin: 0 0 1rem; font-size: .98rem; }
.bt-noscript { color: var(--c-muted); font-size: .95rem; }
.bt-grid { display: grid; gap: .9rem 1rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); align-items: end; }
.bt-field label, .bt-q > b { font-size: .92rem; font-weight: 700; margin-bottom: .3rem; display: block; }
.bt-field input, .bt-field select { padding: .62rem .75rem; }
.bt-euro { position: relative; }
.bt-euro::before { content: "\20AC"; position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); color: var(--c-muted); font-weight: 600; pointer-events: none; }
.bt-euro input { padding-left: 1.7rem; }
.bt-opts { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 .2rem; }
.bt-opt { font: inherit; font-size: .95rem; border: 1.5px solid #c4ccd6; background: #fff; color: var(--c-ink); border-radius: var(--r-md); padding: .55rem .85rem; cursor: pointer; text-align: left; line-height: 1.3; }
.bt-opt:hover { border-color: var(--c-brand); }
.bt-opt[aria-pressed="true"] { background: var(--c-brand); border-color: var(--c-brand); color: #fff; }
.bt-q { margin: 0 0 1.05rem; }
.bt-out { margin-top: 1.1rem; border-top: 1px solid var(--c-line); padding-top: 1rem; }
.bt-out:empty { display: none; }
.bt-big { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .7rem; margin: 0 0 .9rem; }
.bt-big div { background: var(--c-info-bg); border-radius: var(--r-md); padding: .7rem .85rem; }
.bt-big span { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--c-muted); font-weight: 700; }
.bt-big strong { display: block; font-family: Georgia, serif; font-size: 1.45rem; color: var(--c-brand-deep); line-height: 1.25; }
.bt-big .hl { background: var(--c-brand); }
.bt-big .hl span { color: #cdd6e3; }
.bt-big .hl strong { color: #fff; }
.bt-msg { border-radius: var(--r-md); padding: .8rem 1rem; margin: .7rem 0; font-size: .98rem; }
.bt-msg p { margin: 0 0 .4rem; }
.bt-msg p:last-child { margin: 0; }
.bt-msg--yes { background: var(--bz-open-bg); border-left: 4px solid var(--bz-open); }
.bt-msg--no { background: var(--bz-closed-bg); border-left: 4px solid var(--bz-closed); }
.bt-msg--warn { background: var(--bz-wait-bg); border-left: 4px solid var(--c-accent); }
.bt-msg--info { background: var(--c-info-bg); border-left: 4px solid var(--c-brand); }
.bt-fine { font-size: .86rem; color: var(--c-muted); margin: .8rem 0 0; }
.bt-res { list-style: none; padding: 0; margin: .6rem 0 0; }
.bt-res li { border: 1px solid var(--c-line); border-radius: var(--r-md); padding: .75rem .9rem; margin: 0 0 .55rem; background: #fff; }
.bt-res h4 { margin: 0 0 .2rem; font-family: inherit; font-size: 1.03rem; display: flex; flex-wrap: wrap; gap: .4rem .6rem; align-items: center; }
.bt-res p { margin: 0; font-size: .94rem; color: var(--c-ink-soft); }
.bt-res .why { color: var(--c-ink); }
.bt-progress { height: 6px; background: var(--c-line); border-radius: 999px; overflow: hidden; margin: 0 0 1rem; }
.bt-progress i { display: block; height: 100%; background: var(--c-accent); width: 0; transition: width .25s ease; }
.bt-nav { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: 1rem; }
.bt-email { display: grid; gap: .6rem; grid-template-columns: 1fr; margin-top: .7rem; }
@media (min-width: 560px) { .bt-email { grid-template-columns: 1fr auto; } }
.bt-email .nl-opt { grid-column: 1 / -1; font-weight: 400; font-size: .9rem; display: flex; gap: .5rem; align-items: flex-start; }
.bt-email .nl-opt input { width: auto; margin-top: .25rem; }
.bt-ok { font-weight: 600; color: var(--bz-open); }
.bt-err { font-weight: 600; color: var(--bz-closed); }
.bt-table { overflow-x: auto; }
.bt-table table { border-collapse: collapse; width: 100%; font-size: .93rem; }
.bt-table th, .bt-table td { padding: .45rem .6rem; border-bottom: 1px solid var(--c-line); text-align: right; white-space: nowrap; }
.bt-table th:first-child, .bt-table td:first-child { text-align: left; white-space: normal; }
.bt-table tfoot td, .bt-table tr.tot td { font-weight: 700; border-top: 2px solid var(--c-brand); }
.bz-tooltiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .9rem; margin-top: var(--space-3); padding: 0; list-style: none; }
.bz-tooltiles li { margin: 0; }
.bz-tooltiles a { display: block; height: 100%; background: #fff; border: 1px solid var(--c-line); border-left: 4px solid var(--c-accent); border-radius: var(--r-md); padding: .9rem 1rem; text-decoration: none; color: inherit; }
.bz-tooltiles a:hover { border-color: var(--c-brand); border-left-color: var(--c-brand); }
.bz-tooltiles b { display: block; color: var(--c-brand-deep); font-size: 1.05rem; margin-bottom: .15rem; }
.bz-tooltiles span { font-size: .93rem; color: var(--c-ink-soft); line-height: 1.45; display: block; }

/* ---------- print ---------- */
@media print {
  .sec-switch, .bz-pack, .bz-related, .bz-toc, .bz-filter, .pdfbar { display: none !important; }
}

/* ---------- plan pack: sales page ---------- */
.pk-hero { background: var(--c-brand); color: #fff; padding: clamp(1.4rem, 4vw, 3rem) 0; }
.pk-hero .container { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem; align-items: center; }
@media (max-width: 860px) { .pk-hero .container { grid-template-columns: 1fr; } }
.pk-hero h1 { color: #fff; margin: .4rem 0 0; font-size: clamp(1.8rem, 4.4vw, 2.7rem); line-height: 1.14; }
.pk-hero p { color: rgba(255,255,255,.9); font-size: 1.1rem; margin: .9rem 0 0; max-width: 36em; }
.pk-hero .crumbs, .pk-hero .crumbs a, .pk-hero .crumbs span { color: rgba(255,255,255,.75); }
.pk-price { display: flex; align-items: baseline; gap: .7rem; margin-top: 1.1rem; flex-wrap: wrap; }
.pk-price strong { font-family: Georgia, serif; font-size: 2.4rem; color: #fff; }
.pk-price span { color: rgba(255,255,255,.8); }
.pk-ctas { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; margin-top: 1.1rem; align-items: center; }
.pk-light, .pk-light:hover { color: #fff; font-weight: 600; }
.pk-paper { background: #fff; color: var(--c-ink); border-radius: var(--r-md); padding: 1.1rem 1.2rem 1.2rem; box-shadow: 0 18px 40px -18px rgba(0,0,0,.45); }
.pk-hero .pk-paper { transform: rotate(-1.2deg); }
.pk-paper small { display: block; text-transform: uppercase; letter-spacing: .06em; font-size: .72rem; font-weight: 700; color: var(--c-accent-deep); }
.pk-paper h3 { margin: .3rem 0 .6rem; font-size: 1.15rem; }
.pk-paper p { color: var(--c-ink-soft) !important; font-size: .95rem !important; margin: 0 0 .55rem !important; }
.pk-sample { display: inline-block; margin-top: .3rem; font-size: .75rem; font-weight: 700; color: var(--c-muted); border: 1px dashed var(--c-line); padding: .1rem .5rem; border-radius: 999px; }
.pk-mini { border-collapse: collapse; width: 100%; font-size: .88rem; margin: 0 0 .6rem; }
.pk-mini th, .pk-mini td { border: 1px solid var(--c-line); padding: .3rem .4rem; text-align: right; }
.pk-mini th { background: var(--c-info-bg); color: var(--c-brand-deep); }
.pk-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; padding: 0; margin: 1.2rem 0 0; list-style: none; counter-reset: s; }
.pk-steps li { counter-increment: s; background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 1.1rem 1.2rem; margin: 0; }
.pk-steps li::before { content: counter(s); display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--c-brand); color: #fff; font-weight: 800; margin-bottom: .6rem; }
.pk-steps b { display: block; font-size: 1.1rem; margin-bottom: .25rem; }
.pk-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.pk-card { border: 1px solid var(--c-line); border-top: 4px solid var(--c-accent); border-radius: var(--r-md); padding: 1.1rem 1.2rem; background: var(--c-bg); }
.pk-card h3 { margin: 0 0 .3rem; }
.pk-who { color: var(--c-muted); font-size: .95rem; margin: 0 0 .7rem; }
.pk-card ul { margin: 0; padding-left: 1.15rem; font-size: .97rem; }
.pk-card li { margin-bottom: .35rem; }
.pk-samples { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.2rem; margin-top: 1.2rem; }
.pk-samples .pk-paper { box-shadow: var(--shadow-md); border: 1px solid var(--c-line); }
.pk-compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .8rem; margin-top: 1.2rem; }
.pk-compare div { background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 1rem; }
.pk-compare div.us { border: 2px solid var(--c-accent); background: var(--c-warn-bg); }
.pk-compare span { display: block; color: var(--c-muted); font-size: .92rem; }
.pk-compare strong { font-family: Georgia, serif; font-size: 1.6rem; }
.pk-promise { border-radius: var(--r-lg); padding: 1.2rem 1.3rem; background: var(--c-info-bg); margin: 1.2rem 0; max-width: 760px; }
.pk-promise b { display: block; font-size: 1.12rem; margin-bottom: .3rem; }
.pk-end { background: var(--c-brand); color: #fff; border-radius: var(--r-lg); padding: clamp(1.4rem, 4vw, 2.2rem); display: grid; gap: .8rem; justify-items: start; }
.pk-end h2 { color: #fff; margin: 0; }
.pk-end p { color: rgba(255,255,255,.88); margin: 0; }

/* ---------- plan pack: cashflow builder and questionnaire ---------- */
.pp-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); align-items: start; padding: var(--space-3) 0 var(--space-4); }
@media (min-width: 1000px) { .pp-wrap { grid-template-columns: minmax(0, 1fr) 280px; } }
.pp-aside { display: grid; gap: var(--space-2); }
@media (max-width: 999px) { .pp-aside { display: none; } }
.pp-app { background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: clamp(1rem, 3vw, 1.6rem); box-shadow: var(--shadow-md); scroll-margin-top: 5.5rem; min-width: 0; }
.pp-embedded { border: 1px solid var(--c-line); border-radius: var(--r-md); padding: 1rem; margin: 0 0 1.2rem; background: var(--c-bg); }
.pp-steps { list-style: none; display: flex; flex-wrap: wrap; gap: .3rem; padding: 0; margin: 0 0 1rem; }
.pp-steps li { margin: 0; flex: 1 1 auto; }
.pp-steps button { width: 100%; font: inherit; font-size: .85rem; font-weight: 600; border: 0; border-bottom: 3px solid var(--c-line); background: none; color: var(--c-muted); padding: .35rem .3rem; cursor: pointer; text-align: left; }
.pp-steps button[disabled] { cursor: default; opacity: .6; }
.pp-steps .on button { border-color: var(--c-accent); color: var(--c-ink); }
.pp-steps .done button { border-color: var(--c-brand); color: var(--c-brand); }
.pp-h { margin: 0 0 .3rem; font-size: 1.45rem; }
.pp-sub { color: var(--c-ink-soft); margin: 0 0 1rem; }
.pp-stepno { font-size: .85rem; font-weight: 700; color: var(--c-muted); text-transform: uppercase; letter-spacing: .05em; margin: 0 0 .2rem; }
.pp-line { border-top: 1px solid var(--c-line); padding: .85rem 0; }
.pp-line-h b { display: block; }
.pp-line-h span { display: block; font-size: .9rem; color: var(--c-muted); line-height: 1.4; }
.pp-line-f { display: flex; flex-wrap: wrap; gap: .5rem .9rem; align-items: center; margin-top: .5rem; }
.pp-line-f .bt-euro { flex: 0 1 170px; }
.pp-line-f input, .pp-line-f select { padding: .55rem .7rem; }
.pp-line-f .bt-euro input { padding-left: 1.7rem; }
.pp-per { color: var(--c-muted); font-size: .93rem; }
.pp-mini { display: inline-flex; align-items: center; gap: .4rem; font-weight: 400; font-size: .9rem; color: var(--c-ink-soft); margin: 0; }
.pp-mini select, .pp-mini input { width: auto; padding: .4rem .5rem; font-size: .93rem; }
.pp-hint { font-size: .88rem; color: var(--c-muted); margin: .4rem 0 0; }
.pp-list .pp-line-f { margin-top: .5rem; }
.pp-months { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: .45rem; margin: .6rem 0 .5rem; }
.pp-months label { font-weight: 400; font-size: .8rem; color: var(--c-muted); margin: 0; }
.pp-months input { padding: .45rem .5rem; font-size: .95rem; }
.pp-chart { width: 100%; height: auto; margin: .4rem 0 .8rem; background: var(--c-bg); border-radius: var(--r-md); }
.pp-table { margin: 1rem 0; border: 1px solid var(--c-line); border-radius: var(--r-md); }
.pp-table table { font-size: .8rem; }
.pp-table th, .pp-table td { padding: .4rem .36rem; }
.pp-table th { background: var(--c-info-bg); color: var(--c-brand-deep); }
.pp-table td:first-child, .pp-table th:first-child { position: sticky; left: 0; background: #fff; min-width: 128px; max-width: 180px; }
.pp-table th:first-child { background: var(--c-info-bg); }
.pp-table tr.grp td { background: var(--c-bg); font-weight: 700; color: var(--c-brand-deep); text-align: left; }
.pp-table tr.bal td { font-weight: 600; }
.pp-mail { background: var(--c-info-bg); border-radius: var(--r-md); padding: 1rem 1.1rem; margin: 1.2rem 0; }
.pp-pay-row { display: grid; grid-template-columns: 1fr; gap: .6rem; margin: .9rem 0 .2rem; }
@media (min-width: 640px) { .pp-pay-row { grid-template-columns: 1fr auto; } }
.pp-pay-row input { padding: .78rem .8rem; }
.bz-pack .bt-opt { margin-top: .2rem; }
.pp-optional { font-weight: 400; font-size: .8rem; color: var(--c-muted); }
.pp-qtable { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: .35rem; }
.pp-qtable .pp-th { font-size: .8rem; font-weight: 700; color: var(--c-muted); }
.pp-qtable input { padding: .5rem .55rem; font-size: .95rem; min-width: 0; }
.pp-app .form-row textarea { resize: vertical; }
@media print {
  .site-header, .site-footer, .sec-switch, .pp-aside, .pp-steps, .bt-nav, .pp-mail, .bz-pack, .cookie-banner, .bz-hero .crumbs { display: none !important; }
  .pp-app { border: 0; box-shadow: none; padding: 0; }
  .pp-table { overflow: visible; }
  .pp-table table { font-size: 7pt; }
}

/* ---------- by-county link lists on guides ---------- */
.bz-countylinks { list-style: none; padding: 0 !important; margin: .6rem 0 1.4rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .25rem 1rem; }
.bz-countylinks li { margin: 0; font-size: .97rem; }
