/* LimitedCompanyTaxCalculator on the portfolio design system (owner-approved redesign, 24 Oct 2026; same approach as
   ukcapitalgainstaxcalculator's cgt.css and soletradertaxcalculator's st.css). custom.css and cards.css are copied in
   from the shared system; this file restyles this site's own components onto it (nav, footer, offer cards, guides,
   calculators, the Director's Pack page, cookie banner) and adds the homepage sections. Loaded after each page's own
   <style>. No ads, no transforms on cards. Behaviour, maths, copy and tracking are unchanged. */

:root {
  --accent: #1B6B6B;
  --accent-light: #E8F5F5;
  --accent-hover: #155A5A;
  --font-display: 'BenSerifF', 'Fraunces', Georgia, serif;
  --sp-bg: #F7F7F4;
  --st-ink: #1C2928;
  --st-muted: #667370;
  --st-teal: #176C69;
  --st-line: #E4E6E3;
  --st-warm: #7A5A33;
  --st-shadow: 0 1px 2px rgba(28,41,40,.04), 0 12px 32px -24px rgba(28,41,40,.28);
  --st-serif: 'BenSerifF', 'Fraunces', Georgia, serif;
}
body.gradient-bg { background: #FAFAF8; color: #1A1A18; }
html, body { overflow-x: clip; }
.st-main h1, .st-main h2, .st-main h3 { font-family: var(--st-serif); font-variation-settings: 'opsz' 24; }
.st-main h1 { font-weight: 500; letter-spacing: -.02em; line-height: 1.15; color: #1A1A18; }
.st-main h2 { font-weight: 600; letter-spacing: -.015em; color: #1A1A18; }
.st-main a { text-underline-offset: 3px; }

/* Tailwind emerald accents (guides, blog, legal) → the system teal */
.st-main .text-emerald-700, .st-main .text-emerald-600, .st-main .text-emerald-800, .st-main .hover\:text-emerald-700:hover { color: #1B6B6B; }
.st-main .bg-emerald-50, .st-main .bg-emerald-50\/70 { background-color: #EEF5F4; }
.st-main .border-emerald-200 { border-color: #CFE3E1; }
.st-main .bg-emerald-600, .st-main .bg-emerald-700 { background-color: #1B6B6B; }
.st-main .rounded-2xl { border-radius: 16px; }
.st-main .rounded-xl { border-radius: 12px; }
.st-main .font-extrabold { font-weight: 600; }
.st-main h1.font-extrabold { font-weight: 500; }
.st-main .text-slate-600 { color: #5F5C55; }

/* ── Site nav (Settle site-nav) ─────────────────────────── */
.nav.site-nav { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.96); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border-bottom: 1px solid #E8E6E1; }
.site-nav .nav-inner { max-width: 1120px; margin: 0 auto; padding: 0 1rem; display: flex; align-items: center; justify-content: space-between; height: 64px; gap: 1.25rem; position: relative; }
@media (min-width: 768px) { .site-nav .nav-inner { height: 72px; padding: 0 1.25rem; } }
.site-nav .nav-brand { font-family: var(--st-serif); font-weight: 600; font-size: 1.2rem; letter-spacing: -.015em; color: #1A1A18; white-space: nowrap; text-decoration: none; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.site-nav .nav-brand span { color: var(--accent); }
.site-nav .nav-brand:hover { color: var(--accent); }
.site-nav .nav-links { display: flex; gap: 20px; align-items: center; white-space: nowrap; }
.site-nav .nav-links a { color: #6B6860; background: none; font-size: .9375rem; font-weight: 500; padding: 6px 0; border-radius: 6px; text-decoration: none; }
.site-nav .nav-links a:hover, .site-nav .nav-links a.active { color: var(--accent); background: none; }
.site-nav .nav-links a.site-nav__cta { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 12px; background: var(--accent); color: #fff; font-weight: 600; line-height: 1; box-shadow: 0 1px 2px rgba(14,74,71,.18); }
.site-nav .nav-links a.site-nav__cta:hover { background: var(--accent-hover); color: #fff; }
.site-nav .nav-links a:focus-visible, .site-nav .nav-brand:focus-visible { outline: 3px solid rgba(27,107,107,.38); outline-offset: 3px; }
.site-nav .nav-mobile-toggle { display: none; flex: 0 0 auto; background: none; border: 0; cursor: pointer; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 8px; }
.site-nav .nav-mobile-toggle svg { width: 22px; height: 22px; color: #1A1A18; }

@media (max-width: 1199px) {
  .site-nav .nav-mobile-toggle { display: flex; }
  .site-nav .nav-links { display: none; position: absolute; top: 64px; left: 0; right: 0; z-index: 101; flex-direction: column; align-items: stretch; gap: .25rem;
    background: #fff; border-bottom: 1px solid #E8E6E1; box-shadow: 0 10px 24px -12px rgba(28,41,40,.25); padding: 1rem 1.25rem 1.25rem; white-space: normal; }
  .site-nav .nav-links.open { display: flex; }
  .site-nav .nav-links a { padding: .55rem 0; font-size: 1rem; color: #1A1A18; }
  .site-nav .nav-links a.site-nav__cta { justify-content: center; margin-top: .6rem; min-height: 48px; color: #fff; }
}
@media (min-width: 768px) and (max-width: 1199px) { .site-nav .nav-links { top: 72px; } }
@media (min-width: 1200px) { .site-nav .nav-brand { flex-shrink: 0; } .site-nav .nav-links { gap: 18px; } }
@media (max-width: 380px) { .site-nav .nav-brand { font-size: 1.05rem; } }

/* ── Footer (Settle footer) ─────────────────────────────── */
.footer.st-footer { background: #F5F4F0; border-top: 1px solid #E8E6E1; padding: 3rem 1rem 2.25rem; margin-top: 4rem; }
@media (min-width: 768px) { .footer.st-footer { padding-left: 1.25rem; padding-right: 1.25rem; } }
.st-footer__notice { max-width: 1120px; margin: 0 auto 2rem; padding: 1rem 1.1rem; background: #fff; border: 1px solid #E8E6E1; border-radius: 12px; font-size: .875rem; line-height: 1.6; color: #6B6860; }
.st-footer__notice strong { color: #1A1A18; font-weight: 600; }
.st-footer__brand { max-width: 1120px; margin: 0 auto 1.75rem; }
.st-footer__logo { font-family: var(--st-serif); font-weight: 600; font-size: 1.125rem; color: #1A1A18; margin: 0 0 .25rem; }
.st-footer__logo span { color: var(--accent); }
.st-footer__tag { font-size: .875rem; color: #6B6860; margin: 0; max-width: 32rem; }
.st-footer .footer-inner { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2rem; }
.st-footer .footer-col h4 { font-family: 'DM Sans', system-ui, sans-serif; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #9C9890; margin: 0 0 .7rem; }
.st-footer .footer-col a { display: block; font-size: .875rem; color: #6B6860; padding: .22rem 0; text-decoration: none; overflow-wrap: break-word; }
.st-footer .footer-col a:hover { color: var(--accent); }
.st-footer .footer-bottom { max-width: 1120px; margin: 2rem auto 0; padding-top: 1.25rem; text-align: center; font-size: .75rem; line-height: 1.6; color: #9C9890; border-top: 1px solid #E8E6E1; }
.st-footer .footer-bottom p { margin: 0 0 .3rem; }
.st-footer .footer-bottom a { color: inherit; text-decoration: underline; }
@media (max-width: 900px) { .st-footer .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; } }

/* ── Buttons on this site's own classes → the system button ─ */
.pko .pko-btn, .pk-btn, .upc .upc-btn, .ups .ups-btn {
  border-radius: 12px !important; font-weight: 600 !important; letter-spacing: -.005em;
  background: var(--sp-teal, #176C69); color: #fff; box-shadow: 0 1px 2px rgba(14,74,71,.18);
  transition: background-color .15s ease, box-shadow .15s ease;
}
.pko .pko-btn:hover, .pk-btn:hover, .upc .upc-btn:hover, .ups .ups-btn:hover { background: var(--sp-teal-hover, #125A57); color: #fff; filter: none; transform: none; }

/* ── In-content offer cards (.pko) → Settle offer panel ─── */
.pko { background: #fff; border: 1px solid var(--st-line); border-left: 1px solid var(--st-line); border-radius: 16px; box-shadow: var(--st-shadow); padding: 1.25rem; gap: 1.125rem; color: var(--st-ink); }
.pko-cover { box-shadow: none; border-radius: 4px; overflow: visible; background: none; }
.pko-cover img { border-radius: 4px; border: 1px solid rgba(28,41,40,.10); box-shadow: 0 4px 12px -6px rgba(28,41,40,.25); }
.pko .pko-eyebrow { font-size: .75rem; font-weight: 600; letter-spacing: .06em; color: var(--st-teal); margin-bottom: .375rem; }
.pko .pko-head { font-family: var(--st-serif); font-size: 1.1875rem; font-weight: 600; letter-spacing: -.01em; color: var(--st-ink); line-height: 1.3; }
.pko .pko-text { font-size: .9375rem; color: var(--st-muted); line-height: 1.55; }
.pko .pko-btn { min-height: 46px; padding: .75rem 1.15rem; font-size: .9375rem; display: inline-block; text-align: center; line-height: 1.3; }
.pko .pko-micro { font-size: .8125rem; color: var(--st-muted); }
.pko-alt { color: var(--st-muted); }
.pko-alt a { color: var(--st-teal); }
@media (max-width: 639px) { .pko .pko-btn { display: block; width: 100%; } .pko { padding: 1.05rem; } }
.upc { border: 1px solid var(--st-line); border-left: 1px solid var(--st-line); border-radius: 16px; box-shadow: var(--st-shadow); }
.pack-inline-link { color: var(--st-muted); }
.pack-inline-link a { color: var(--st-teal); }

/* ── Calculator pages ───────────────────────────────────── */
.st-calc-intro { padding-top: 2rem !important; }
.st-calc-intro h1 { font-family: var(--st-serif) !important; font-weight: 500 !important; }
#salary-calc > div:first-child { border: 1px solid var(--st-line) !important; border-top: 1px solid var(--st-line) !important; border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(28,41,40,.04), 0 18px 44px -28px rgba(28,41,40,.35) !important; }
.ats-calc-head-title { font-family: var(--st-serif) !important; font-weight: 600 !important; }
.calc-year-badge { background: #E8F5F5 !important; color: #1B6B6B !important; border-radius: 999px !important; }
.section-label { font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--st-warm); }
.section-h2 { font-family: var(--st-serif) !important; font-weight: 600 !important; letter-spacing: -.015em; line-height: 1.25; }
.tool-card, .guide-card, .hiw-card, .method-card, .about-card { background: #fff; border: 1px solid var(--st-line) !important; border-radius: 14px !important; box-shadow: 0 1px 2px rgba(28,41,40,.04); }
.tool-card:hover, .guide-card:hover, .method-card:hover { border-color: rgba(23,108,105,.45) !important; box-shadow: 0 1px 2px rgba(28,41,40,.05), 0 18px 40px -22px rgba(28,41,40,.38); transform: none; }
.tool-card-title, .guide-card-title, .hiw-title, .method-card-title { font-family: var(--st-serif); font-weight: 600; }
.popular-link { border-radius: 10px !important; border-color: var(--st-line) !important; }
.faq-item { background: #fff; border: 1px solid #E8E6E1; border-radius: .75rem; }
.mft-card { border-radius: 14px !important; border-color: var(--st-line) !important; }

/* ── Guides and blog (content_page / blog_post) ─────────── */
.st-main .max-w-5xl h1 { font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.6rem); line-height: 1.12; max-width: 26ch; }
.st-main .max-w-5xl h2 { font-size: 1.375rem; }
.st-main .max-w-5xl p.text-slate-600 { font-size: 1rem; line-height: 1.72; }
.st-main .max-w-5xl figure table { border-radius: 14px; border-color: var(--st-line); }
.st-main aside .rounded-2xl, .st-main .lg\:sticky { border-radius: 16px; }
.st-main .pko-wrap { margin: 1.75rem 0; }

/* Plain pages (contact, editorial) that use .section / .badge */
.st-main > .section { max-width: 820px; margin: 0 auto; padding: 2.25rem 1rem 1rem; }
.st-main > .section .badge { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; background: #E8F5F5; color: #1B6B6B; font-size: .8125rem; font-weight: 600; margin-bottom: .75rem; }
.st-main > .section h1 { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.4rem); margin: 0 0 1rem; }

/* ── Homepage (data-home-*) ─────────────────────────────── */
.st-home-hero { padding-left: 1rem; padding-right: 1rem; text-align: center; }
.st-home-hero .hh__title { max-width: 18ch; font-size: clamp(2.05rem, .9rem + 3.6vw, 3.6rem); }
.st-home-hero .hh__lede { font-size: clamp(1rem, .9rem + .4vw, 1.1875rem); max-width: 680px; }
@media (max-width: 767px) { .st-home-hero { min-height: 0; padding-top: 32px; padding-bottom: 26px; } }
@media (max-width: 380px) { .st-home-hero .hh__btn { padding: 0 18px; font-size: 1rem; } }
.hh__btn { white-space: nowrap; }
.st-hero-qa { margin: 18px auto 0; max-width: 680px; font-size: .9375rem; line-height: 1.6; color: #1A1A18; }
.st-sm { display: none; }
@media (max-width: 639px) { .st-lg { display: none; } .st-sm { display: inline; } }
.st-xsite { display: flex; flex-direction: column; align-items: center; gap: .3rem; margin-top: 1rem; font-size: .875rem; line-height: 1.45; }
.st-xsite a { color: #6B6860; text-decoration: none; }
.st-xsite a span { color: var(--accent); font-weight: 600; }
.st-xsite a:hover span { text-decoration: underline; }
.st-band { background: var(--sp-bg); border-top: 1px solid #E8E6E1; border-bottom: 1px solid #E8E6E1; padding: 2.5rem 1rem; margin-top: 1rem; }
@media (min-width: 768px) { .st-band { padding: 3.5rem 1.25rem; } }
.st-wrap { max-width: 980px; margin: 0 auto; }
.st-sec-h { font-family: var(--st-serif); font-weight: 600; font-size: 1.5rem; line-height: 1.25; letter-spacing: -.015em; color: #1A1A18; margin: 0 0 .5rem; }
@media (min-width: 768px) { .st-sec-h { font-size: 1.875rem; } }
.st-sec-lede { color: #6B6860; font-size: 1rem; line-height: 1.6; margin: 0 0 1.75rem; max-width: 40rem; }
.st-center { text-align: center; }
.st-center .st-sec-lede { margin-left: auto; margin-right: auto; }
/* The pack card: cover + a real inside page on the left, the value stack on the right (desktop). */
.st-pack { max-width: 880px; margin: 0 auto; height: auto; }
.st-pack .sp-badge::before { content: none; }
.st-pack .sp-badge { text-transform: none; letter-spacing: .02em; font-size: .8125rem; }
.st-pack .sp-title { font-family: var(--st-serif); font-size: 1.375rem; }
.st-vticks { margin: 1.1rem 0 1.25rem; gap: .7rem; }
.st-vticks b { font-weight: 600; color: var(--st-ink); }
.st-vticks span { color: #46524F; }
.st-pack__buy { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.st-pack__btn { flex: 1 1 auto; white-space: nowrap; min-height: 50px; }
.st-pack .sp-price small { margin-left: .35rem; }
.st-pack__note { text-align: left; }
@media (min-width: 768px) {
  .st-pack { display: grid; grid-template-columns: 330px minmax(0, 1fr); }
  .st-pack .sp-media--pack { height: auto; min-height: 100%; border-bottom: 0; border-right: 1px solid var(--sp-border); padding: 28px 20px; }
  .st-pack .sp-media--pack .sp-cover { height: 300px; }
  .st-pack .sp-media--pack .sp-page--back { height: 240px; }
  .st-pack .sp-body { padding: 1.75rem 1.75rem 1.5rem; }
  .st-pack__btn { flex: 0 1 auto; }
}
@media (max-width: 767px) {
  .st-pack .sp-media--pack { height: 230px; padding: 18px 16px; }
  .st-pack .sp-body { padding: 1.25rem 1.1rem 1.2rem; }
  .st-pack__buy { gap: .6rem; }
  .st-pack .sp-price { width: 100%; }
  .st-pack__btn { width: 100%; }
  .st-pack__note { text-align: center; }
}
/* Homepage top block (partials/home_landing_top.html): the product cards, as on the CGT / HomeBuyingCosts homepages.
   Desktop: cover on top, side by side; phones: compact panel with the cover on the left. */
.st-home-hero .hh__title { max-width: 19ch; font-size: clamp(2.125rem, .9rem + 4vw, 4rem); }
.st-band--top { margin-top: 0; }
@media (min-width: 768px) { .st-band--top { padding: 4.5rem 1.25rem; } }
.st-band--top .st-wrap { max-width: 1120px; }
.st-band--top .st-sec-lede { margin-bottom: 2rem; }
.st-packs { display: grid; grid-template-columns: 1fr; gap: 1rem; max-width: 760px; margin: 0 auto; }
@media (min-width: 640px) { .st-packs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; } }
.st-packs .sp-badge::before { content: none; }
.st-packs .sp-media--pack { height: 230px; padding: 20px 16px 18px; }
.st-packs .sp-body { padding: 1.25rem; }
.st-packs .sp-title { font-family: var(--st-serif); font-size: 1.125rem; }
.st-packs .sp-line { font-size: .9rem; }
.st-packs .sp-ticks { font-size: .875rem; gap: .5rem; margin: 1rem 0 1.25rem; }
.st-packs .sp-btn { font-size: .9375rem; padding: .7rem 1rem; }
.st-packs .sp-badge { margin-bottom: .5rem; letter-spacing: .03em; text-transform: none; font-size: .8125rem; }
.st-packs .sp-note span { white-space: nowrap; }
.st-packs .bp-line { margin-top: .5rem; text-align: center; }
.st-tpack__price { font-size: .875rem; color: var(--st-muted); white-space: nowrap; font-weight: 500; }
@media (max-width: 639px) {
  .st-packs .sp-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: start; }
  .st-packs .sp-media--pack { height: auto; padding: 1rem 0 0 1rem; background: none; border: 0; justify-content: flex-start; }
  .st-packs .sp-media--pack .sp-page--back { display: none; }
  .st-packs .sp-media--pack .sp-page--cover { width: 80px; height: auto; }
  .st-packs .sp-body { padding: 1rem 1rem 1.1rem .9rem; }
  .st-packs .sp-ticks { display: none; }
  .st-packs .sp-line { margin-bottom: .85rem; }
  .st-packs .sp-btn, .st-packs .sp-note { margin-left: -94px; width: calc(100% + 94px); }
  .st-packs .sp-btn { min-height: 46px; white-space: nowrap; font-size: .9375rem; }
  .st-packs .sp-note { text-align: center; }
  .st-packs .bp-line { margin-left: -94px; width: calc(100% + 94px); text-align: center; }
  .st-packs .sp-title { font-size: 1.0625rem; }
  .st-packs .sp-line { font-size: .875rem; line-height: 1.5; }
}
.st-free-line { max-width: 46rem; margin: 1.75rem auto 0; text-align: center; font-size: .9375rem; line-height: 1.55; color: var(--st-muted); }
.st-free-line a { color: var(--st-teal); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
/* Homepage result bar: hidden while the calculator is still below the screen (static/js/home-sticky.js). */
html.sr-pre .sticky-result { transform: translateY(calc(100% + var(--cc-h, 0px))) !important; visibility: hidden; }

/* ── Product pages (Settle /pack structure) ─────────────── */
.pk-badge { background: #E8F5F5; color: #1B6B6B; font-weight: 600; }
.pk-eyebrow { color: var(--st-warm); font-weight: 600; letter-spacing: .06em; }
.pk-h1 { font-family: var(--st-serif); font-weight: 500; letter-spacing: -.02em; line-height: 1.12; color: var(--st-ink); }
@media (min-width: 861px) { .pk-h1 { font-size: clamp(2rem, 1.4rem + 2vw, 3rem); line-height: 1.08; letter-spacing: -.025em; } }
.pk-sec h2, .pk-final h2 { font-family: var(--st-serif); font-weight: 600; letter-spacing: -.015em; color: var(--st-ink); }
.pk-lead { color: #46524F; }
.pk-facts li { background: #E8F5F5; color: #1B6B6B; font-weight: 600; }
.pk-buy { border: 1px solid var(--st-line); border-radius: 16px; box-shadow: 0 1px 2px rgba(28,41,40,.04), 0 16px 40px -28px rgba(28,41,40,.35); }
@media (min-width: 861px) { .pk-hero .pk-buy { padding: 1.375rem; } }
.pk-price strong { font-family: 'DM Sans', system-ui, sans-serif; font-weight: 600; letter-spacing: -.02em; color: var(--st-ink); }
.pk-btn { min-height: 54px; font-size: 1.0625rem; display: flex; align-items: center; justify-content: center; }
@media (max-width: 520px) { .pk-btn { font-size: .98rem; padding-left: .6rem; padding-right: .6rem; min-height: 52px; } }
.pk-final .pk-btn { display: inline-flex; min-height: 50px; }
.pk-trust li { background: #fff; border-color: var(--st-line); }
.pk-cover img, .pk-final img { border-radius: 4px; border: 1px solid rgba(28,41,40,.10); box-shadow: 0 1px 2px rgba(28,41,40,.06), 0 18px 40px -22px rgba(28,41,40,.45); }
.pk-card { border: 1px solid var(--st-line); border-top: 1px solid var(--st-line); border-radius: 14px; box-shadow: 0 1px 2px rgba(28,41,40,.04); }
.pk-card h3 { font-family: var(--st-serif); font-weight: 600; font-size: 1rem; }
.pk-shot a { border-radius: 4px; border-color: var(--st-line); box-shadow: 0 1px 2px rgba(28,41,40,.05), 0 10px 24px -18px rgba(28,41,40,.35); }
.pk-hint { background: rgba(28,41,40,.82); }
.pk-shot figcaption strong { font-weight: 600; color: var(--st-ink); }
.pk-faq details { background: #fff; border: 1px solid var(--st-line); border-radius: 12px; padding: 0; margin: 0 0 .5rem; max-width: 760px; }
.pk-faq summary { padding: 1rem 1.25rem; font-weight: 600; color: var(--st-ink); list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.pk-faq summary::-webkit-details-marker { display: none; }
.pk-faq summary::after { content: "+"; color: #9C9890; font-weight: 400; font-size: 1.25rem; line-height: 1; }
.pk-faq details[open] summary::after { content: "\2212"; }
.pk-faq details p { margin: 0 !important; padding: 0 1.25rem 1.1rem; color: var(--st-muted); }
.pk-final { border: 1px solid var(--st-line); border-top: 1px solid var(--st-line); border-radius: 16px; box-shadow: var(--st-shadow); background: #fff; }
.pk-toc li { border-bottom-color: var(--st-line); }
.vh-outcome { border: 1px solid var(--st-line); border-left: 3px solid #1B6B6B; border-radius: 0 12px 12px 0; }
.vh-outcome-label { color: #1B6B6B; font-weight: 600; }
.vh-fig strong, .vh-rates td strong { font-family: var(--st-serif); }
.vh-strong, .vh-sum { background: #EEF5F4; border-color: #CFE3E1; }
.vh-strong b, .vh-sum tr.vh-sum-total td, .vh-effort strong, .vh-refund-badge { color: #155A5A; }
.vh-sum tr.vh-sum-total td { border-top-color: #CFE3E1; }
.vh-refund { background: #EEF5F4; border-color: #CFE3E1; border-radius: 12px; }
.vh-effort::before { color: #1B6B6B; }
.vh-cta-alt { color: #1B6B6B; }
/* Phones: the value-stack card under the H1, then the real pages; the long preamble is hidden. */
.pkm { display: none; }
@media (max-width: 860px) {
  .pk-wrap { display: flex; flex-direction: column; }
  .pk-wrap > section { order: 3; } .pk-wrap > .pk-hero { order: 0; } .pk-wrap > .pk-galsec { order: 1; } .pk-wrap > .pk-insec { order: 2; } .pk-wrap > .pk-final { order: 4; }
  .pk-hero { padding-top: 1.1rem; display: block; }
  .pk-hero .pk-cover, .pk-heroinfo, .pk-insec .pk-sub, .pk-insec .pk-card p { display: none !important; }
  .pk-insec .pk-inside { grid-template-columns: 1fr 1fr !important; gap: .6rem; }
  .pk-insec .pk-card { padding: .75rem; }
  .pk-insec .pk-card h3 { font-size: .95rem; margin: 0; }
  .pkm { display: block; margin: 1rem 0 .4rem; padding: 1.1rem 1rem 1rem; border: 1px solid var(--st-line); border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(20,40,60,.10); }
  .pkm-head { display: grid; grid-template-columns: minmax(0, 1fr) 78px; gap: .8rem; align-items: start; }
  .pkm-head img { width: 78px; height: auto; border-radius: 3px; box-shadow: 0 8px 16px rgba(20,40,60,.25); }
  .pkm-name { margin: 0; font-family: var(--st-serif); font-weight: 600; font-size: 1.35rem; line-height: 1.2; color: var(--st-ink); }
  .pkm-fmt { margin: .35rem 0 0; font-size: .85rem; color: var(--accent); font-weight: 600; }
  .pkm-ticks { list-style: none; margin: .9rem 0 0; padding: 0; }
  .pkm-ticks li { position: relative; padding: 0 0 0 1.6rem; margin: 0 0 .75rem; font-size: .97rem; line-height: 1.45; color: #24323d; }
  .pkm-ticks li::before { content: "\2713"; position: absolute; left: .1rem; top: 0; font-weight: 800; color: var(--accent); }
  .pkm-ticks b { color: var(--st-ink); }
  .pkm-plus { margin: .2rem 0 0; padding-top: .75rem; border-top: 1px solid #e7ecee; font-size: .88rem; line-height: 1.45; color: #4a5862; }
  .pkm-btn { width: 100%; margin-top: 1rem; }
  .pkm-micro { margin: .6rem 0 0; text-align: center; font-size: .82rem; color: #3b4852; }
  .pkm-chk { margin: .2rem 0 0; text-align: center; font-size: .76rem; color: #6b7780; }
}

/* ── Packs index (pk-*) ─────────────────────────────────── */
.pk-wrap h1 { font-family: var(--st-serif); font-weight: 500; }

/* ── Cookie banner (Settle cc-card look; behaviour unchanged) ─ */
#cookie-consent-banner { background: transparent !important; border-top: 0 !important; box-shadow: none !important; padding: .75rem !important; pointer-events: none; }
#cookie-consent-banner .cc-inner { pointer-events: auto; max-width: 40rem !important; background: #fff; border: 1px solid #E8E6E1; border-radius: 1rem; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); padding: 1rem; }
#cookie-consent-banner .cc-long { color: #6B6860 !important; font-size: .78rem !important; }
#cookie-consent-banner .cc-long a { color: #1B6B6B !important; }
#cookie-consent-banner #cookie-accept-btn { background: #1B6B6B !important; border-radius: .75rem !important; padding: .55rem 1.1rem !important; }
#cookie-consent-banner #cookie-decline-btn { border-radius: .75rem !important; border: 1px solid #E8E6E1 !important; color: #6B6860 !important; padding: .55rem 1.1rem !important; }
@media (max-width: 640px) {
  html #cookie-consent-banner.cc-compact { padding: .4rem .75rem !important; background: #fff !important; box-shadow: 0 -4px 20px rgba(0,0,0,.08) !important; border-top: 1px solid #E8E6E1 !important; }
  html #cookie-consent-banner.cc-compact .cc-inner { max-width: none !important; box-shadow: none; border: 0; border-radius: 0; padding: 0; }
  #cookie-consent-banner.cc-compact #cookie-accept-btn, #cookie-consent-banner.cc-compact #cookie-decline-btn { padding: .4rem .75rem !important; }
}
