/* System-aware colour themes and low-impact interface motion. */
:root { color-scheme: light dark; }
:root[data-theme="dark"] { --forest:#bdecc4;--deep:#07130e;--leaf:#a8e5b1;--sage:#243a2d;--lime:#e2f59c;--cream:#0c1710;--paper:#16251c;--clay:#b97154;--ink:#f4faf3;--muted:#d2ded5;--line:#5a7061; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --forest:#bdecc4;--deep:#07130e;--leaf:#a8e5b1;--sage:#243a2d;--lime:#e2f59c;--cream:#0c1710;--paper:#16251c;--clay:#b97154;--ink:#f4faf3;--muted:#d2ded5;--line:#5a7061; } }

body, header, .card, .trust, .method, .form-card, input, select, textarea, .client-logo, .yield-fab, .action-video, .youtube-highlight { transition: background-color .28s ease, color .28s ease, border-color .28s ease, box-shadow .28s ease; }
.theme-toggle { width:38px;height:38px;margin-left:12px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--forest);display:grid;place-items:center;cursor:pointer;line-height:1;transition:transform .2s ease,background-color .28s ease,border-color .28s ease; }
.theme-toggle:hover { transform:translateY(-2px) rotate(8deg);border-color:var(--leaf); }
.theme-toggle svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }

.hero { background:radial-gradient(circle at 82% 20%,rgba(139,192,113,.14),transparent 32%),linear-gradient(122deg,var(--deep),#163f31 65%,#173b30); }
.page-hero { background:radial-gradient(circle at 82% 15%,rgba(204,225,120,.12),transparent 30%),linear-gradient(130deg,var(--deep),#173f31); }
.outcomes { background:linear-gradient(135deg,var(--sage),color-mix(in srgb,var(--sage) 80%,var(--paper))); }
.action-video,.youtube-highlight { background:linear-gradient(135deg,color-mix(in srgb,var(--sage) 62%,var(--paper)),var(--paper)); }
.calculator-section { background:linear-gradient(145deg,color-mix(in srgb,var(--sage) 75%,var(--paper)),var(--cream)); }
.cta-band { background:linear-gradient(120deg,var(--clay),#b97353); }

.nav-links a, footer a, .card .link, .text-link { transition:color .2s ease,opacity .2s ease; }
.nav-links a,.footgrid a:not(.brand) { position:relative; }
.nav-links a::after,.footgrid a:not(.brand)::after { content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease; }
.nav-links a:hover::after,.footgrid a:not(.brand):hover::after { transform:scaleX(1); }
.card:hover { transform:translateY(-5px); }
.service-image-gallery img { transition:transform .45s ease,filter .45s ease; }
.service-image-gallery img:hover { transform:scale(1.018);filter:saturate(1.05); }
.motion-pending { opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1); }
.motion-pending.motion-visible { opacity:1;transform:none; }

:root[data-theme="dark"] header, :root[data-theme="dark"] .nav.open .nav-links, :root[data-theme="dark"] .trust, :root[data-theme="dark"] .card, :root[data-theme="dark"] .form-card, :root[data-theme="dark"] .fact, :root[data-theme="dark"] .list-block, :root[data-theme="dark"] .client-logo, :root[data-theme="dark"] input, :root[data-theme="dark"] select, :root[data-theme="dark"] textarea { background:var(--paper);color:var(--ink); }
:root[data-theme="dark"] .card p, :root[data-theme="dark"] .prose p, :root[data-theme="dark"] .sidecard p, :root[data-theme="dark"] .form-note { color:var(--muted); }
:root[data-theme="dark"] .outcomes .service-grid .card::before { background:rgba(23,35,29,.78); }
:root[data-theme="dark"] .client-logo { border-color:var(--line); }
:root[data-theme="dark"] .client-logo.salar { filter:grayscale(.15) brightness(.92); }
:root[data-theme="dark"] .youtube-highlight a { color:var(--forest); }
:root[data-theme="dark"] .area-type-card, :root[data-theme="dark"] .crop-chip, :root[data-theme="dark"] .crop-action, :root[data-theme="dark"] .calculator-card, :root[data-theme="dark"] .indicative-savings .savings-table, :root[data-theme="dark"] .indicative-savings .savings-row { background:var(--paper);color:var(--ink);border-color:var(--line); }
:root[data-theme="dark"] .savings-head, :root[data-theme="dark"] .savings-head span { background:var(--sage)!important;color:var(--ink)!important; }

@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) header, :root:not([data-theme="light"]) .nav.open .nav-links, :root:not([data-theme="light"]) .trust, :root:not([data-theme="light"]) .card, :root:not([data-theme="light"]) .form-card, :root:not([data-theme="light"]) .fact, :root:not([data-theme="light"]) .list-block, :root:not([data-theme="light"]) .client-logo, :root:not([data-theme="light"]) input, :root:not([data-theme="light"]) select, :root:not([data-theme="light"]) textarea { background:var(--paper);color:var(--ink); }
  :root:not([data-theme="light"]) .card p, :root:not([data-theme="light"]) .prose p, :root:not([data-theme="light"]) .sidecard p, :root:not([data-theme="light"]) .form-note { color:var(--muted); }
  :root:not([data-theme="light"]) .outcomes .service-grid .card::before { background:rgba(23,35,29,.78); }
  :root:not([data-theme="light"]) .client-logo { border-color:var(--line); }
  :root:not([data-theme="light"]) .area-type-card, :root:not([data-theme="light"]) .crop-chip, :root:not([data-theme="light"]) .crop-action, :root:not([data-theme="light"]) .calculator-card, :root:not([data-theme="light"]) .indicative-savings .savings-table, :root:not([data-theme="light"]) .indicative-savings .savings-row { background:var(--paper);color:var(--ink);border-color:var(--line); }
}
@media (max-width:850px) { .theme-toggle { margin-left:auto;margin-right:10px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important; } .motion-pending { opacity:1;transform:none; } }

/* Additional dark-mode contrast for calls to action, calculator content and client marks. */
:root[data-theme="dark"] .button { background:#b9e6a8;border-color:#b9e6a8;color:#10271b; }
:root[data-theme="dark"] .button.light { background:#e2f59c;border-color:#e2f59c;color:#10271b; }
:root[data-theme="dark"] .button:hover { background:#f0ffc0;border-color:#f0ffc0;color:#10271b; }
:root[data-theme="dark"] .yield-section { background:#203529; }
:root[data-theme="dark"] .yield-section h2,
:root[data-theme="dark"] .yield-section .section-copy { color:var(--ink)!important; }
:root[data-theme="dark"] .yield-section .eyebrow { color:var(--lime); }
:root[data-theme="dark"] .client-logo:not(.banglar) img { filter:grayscale(1) brightness(0) invert(1);mix-blend-mode:normal; }
:root[data-theme="dark"] .client-logo.banglar img { filter:brightness(1.35) contrast(1.15); }
:root[data-theme="dark"] .client-logo.salar { filter:none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .button { background:#b9e6a8;border-color:#b9e6a8;color:#10271b; }
  :root:not([data-theme="light"]) .button.light { background:#e2f59c;border-color:#e2f59c;color:#10271b; }
  :root:not([data-theme="light"]) .button:hover { background:#f0ffc0;border-color:#f0ffc0;color:#10271b; }
  :root:not([data-theme="light"]) .yield-section { background:#203529; }
  :root:not([data-theme="light"]) .yield-section h2,
  :root:not([data-theme="light"]) .yield-section .section-copy { color:var(--ink)!important; }
  :root:not([data-theme="light"]) .yield-section .eyebrow { color:var(--lime); }
  :root:not([data-theme="light"]) .client-logo:not(.banglar) img { filter:grayscale(1) brightness(0) invert(1);mix-blend-mode:normal; }
  :root:not([data-theme="light"]) .client-logo.banglar img { filter:brightness(1.35) contrast(1.15); }
  :root:not([data-theme="light"]) .client-logo.salar { filter:none; }
}

/* Preserve the original client marks and give the founder area a true dark surface. */
:root[data-theme="dark"] .client-logo { background:#fff!important;border-color:rgba(21,67,47,.12)!important; }
:root[data-theme="dark"] .client-logo img { filter:none!important;mix-blend-mode:multiply!important; }
:root[data-theme="dark"] .client-logo.dark { background:#214a38!important;border-color:#214a38!important; }
:root[data-theme="dark"] .client-logo.dark img,
:root[data-theme="dark"] .client-logo.banglar img { mix-blend-mode:normal!important; }
:root[data-theme="dark"] .client-logo.banglar { background:#3430c6!important;border-color:#3430c6!important; }
:root[data-theme="dark"] .founder-section { background:#14251b!important;color:var(--ink); }
:root[data-theme="dark"] .founder-specialism,
:root[data-theme="dark"] .founder-stats span,
:root[data-theme="dark"] .founder-engagements li { color:var(--muted)!important; }
:root[data-theme="dark"] .founder-stats,
:root[data-theme="dark"] .founder-stats div,
:root[data-theme="dark"] .founder-engagements ul,
:root[data-theme="dark"] .founder-engagements li { border-color:var(--line)!important; }
:root[data-theme="dark"] .founder-stats b { color:var(--forest)!important; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .client-logo { background:#fff!important;border-color:rgba(21,67,47,.12)!important; }
  :root:not([data-theme="light"]) .client-logo img { filter:none!important;mix-blend-mode:multiply!important; }
  :root:not([data-theme="light"]) .client-logo.dark { background:#214a38!important;border-color:#214a38!important; }
  :root:not([data-theme="light"]) .client-logo.dark img,
  :root:not([data-theme="light"]) .client-logo.banglar img { mix-blend-mode:normal!important; }
  :root:not([data-theme="light"]) .client-logo.banglar { background:#3430c6!important;border-color:#3430c6!important; }
  :root:not([data-theme="light"]) .founder-section { background:#14251b!important;color:var(--ink); }
  :root:not([data-theme="light"]) .founder-specialism,
  :root:not([data-theme="light"]) .founder-stats span,
  :root:not([data-theme="light"]) .founder-engagements li { color:var(--muted)!important; }
  :root:not([data-theme="light"]) .founder-stats,
  :root:not([data-theme="light"]) .founder-stats div,
  :root:not([data-theme="light"]) .founder-engagements ul,
  :root:not([data-theme="light"]) .founder-engagements li { border-color:var(--line)!important; }
  :root:not([data-theme="light"]) .founder-stats b { color:var(--forest)!important; }
}

/* Dark-mode contrast adjustments. Light-mode tokens and layout remain unchanged. */
:root[data-theme="dark"] .nav-links,
:root[data-theme="dark"] .trust-label,
:root[data-theme="dark"] .section-copy,
:root[data-theme="dark"] .outcome p,
:root[data-theme="dark"] .step p,
:root[data-theme="dark"] .prose p,
:root[data-theme="dark"] .prose ul,
:root[data-theme="dark"] .prose li,
:root[data-theme="dark"] .sidecard p,
:root[data-theme="dark"] .form-note,
:root[data-theme="dark"] .source-note,
:root[data-theme="dark"] .savings-intro,
:root[data-theme="dark"] .savings-disclaimer { color:var(--muted)!important; }
:root[data-theme="dark"] .sidecard,
:root[data-theme="dark"] .discovery-contact-details,
:root[data-theme="dark"] .service-next-step,
:root[data-theme="dark"] .method { background:var(--sage)!important;color:var(--ink); }
:root[data-theme="dark"] .sidecard a:not(.button),
:root[data-theme="dark"] .discovery-contact-details a:not(.button),
:root[data-theme="dark"] .text-link { color:var(--lime)!important; }
:root[data-theme="dark"] .calculator-card label,
:root[data-theme="dark"] .fact small,
:root[data-theme="dark"] .savings-row,
:root[data-theme="dark"] .savings-total { color:var(--ink)!important; }
:root[data-theme="dark"] .indicative-savings { background:#1b3125;border-color:var(--line); }
:root[data-theme="dark"] .indicative-savings .savings-row,
:root[data-theme="dark"] .indicative-savings .savings-table { background:var(--paper)!important;color:var(--ink)!important; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .nav-links,
  :root:not([data-theme="light"]) .trust-label,
  :root:not([data-theme="light"]) .section-copy,
  :root:not([data-theme="light"]) .outcome p,
  :root:not([data-theme="light"]) .step p,
  :root:not([data-theme="light"]) .prose p,
  :root:not([data-theme="light"]) .prose ul,
  :root:not([data-theme="light"]) .prose li,
  :root:not([data-theme="light"]) .sidecard p,
  :root:not([data-theme="light"]) .form-note,
  :root:not([data-theme="light"]) .source-note,
  :root:not([data-theme="light"]) .savings-intro,
  :root:not([data-theme="light"]) .savings-disclaimer { color:var(--muted)!important; }
  :root:not([data-theme="light"]) .sidecard,
  :root:not([data-theme="light"]) .discovery-contact-details,
  :root:not([data-theme="light"]) .service-next-step,
  :root:not([data-theme="light"]) .method { background:var(--sage)!important;color:var(--ink); }
  :root:not([data-theme="light"]) .sidecard a:not(.button),
  :root:not([data-theme="light"]) .discovery-contact-details a:not(.button),
  :root:not([data-theme="light"]) .text-link { color:var(--lime)!important; }
  :root:not([data-theme="light"]) .calculator-card label,
  :root:not([data-theme="light"]) .fact small,
  :root:not([data-theme="light"]) .savings-row,
  :root:not([data-theme="light"]) .savings-total { color:var(--ink)!important; }
  :root:not([data-theme="light"]) .indicative-savings { background:#1b3125;border-color:var(--line); }
  :root:not([data-theme="light"]) .indicative-savings .savings-row,
  :root:not([data-theme="light"]) .indicative-savings .savings-table { background:var(--paper)!important;color:var(--ink)!important; }
}
