@layer factory {
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

:root {
  --icon-sm: 16px; --icon-md: 20px; --icon-lg: 24px; --icon-xl: 32px;
  --control-h-sm: 38px; --control-h-md: 46px; --control-h-lg: 54px;

  --sticky-top: 96px;

  --mobilenav-h: 72px;
}

body {
  font-family: var(--font-body), system-ui, sans-serif;
  color: var(--color-text);
  background: var(--color-surface);
  line-height: var(--body-leading, 1.6);
  font-size: var(--body-size, 16px);
  -webkit-font-smoothing: antialiased;
}

img, video, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }

ul, ol { list-style: none; padding: 0; }

a, button, input, select, textarea, [role="button"] { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; border-radius: var(--radius-sm, 8px); }
:focus:not(:focus-visible) { outline: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s var(--motion-ease), transform .6s var(--motion-ease); transition-delay: var(--reveal-d, 0ms); }
.reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }

h1, h2, h3, h4, h5 {
  font-family: var(--font-heading), system-ui, sans-serif;
  color: var(--color-heading);
  line-height: var(--heading-leading, 1.15);
  font-weight: var(--heading-weight, 700);
  letter-spacing: var(--heading-tracking, -0.02em);
}

.container { width: 100%; max-width: var(--container, 1200px); margin-inline: auto; padding-inline: 24px; }
.container--md { max-width: 920px; }
.section { padding-block: var(--section-pad, clamp(48px, 7vw, 92px)); }

.section--alt { background: var(--color-bg); }
.section--surface { background: var(--color-surface); }

.section--dark { background: var(--color-dark); color: #fff; }
.section--dark :is(h1,h2,h3,h4,.section-title,.eyebrow) { color: #fff; }
.section--dark .eyebrow::before { background: #fff; }
.section--dark .lead, .section--dark .muted { color: rgba(255,255,255,.82); }

:root { --section-pad-edge: calc(var(--section-pad, 92px) * .62); }

:is(.section, .cta-band) + :is(.section, .cta-band) { padding-top: var(--section-pad-edge); }
:is(.section, .cta-band):has(+ :is(.section, .cta-band)) { padding-bottom: var(--section-pad-edge); }

.section:not(:is(.section--alt, .section--dark, .impact--v1, .video-sec, .cta-band, .orphan--v2))
  + .section:not(:is(.section--alt, .section--dark, .impact--v1, .video-sec, .cta-band, .orphan--v2)) { padding-top: 0; }
.section:not(:is(.section--alt, .section--dark, .impact--v1, .video-sec, .cta-band, .orphan--v2)):has(
  + .section:not(:is(.section--alt, .section--dark, .impact--v1, .video-sec, .cta-band, .orphan--v2))) { padding-bottom: var(--section-pad); }

.section--alt + .section--alt { padding-top: 0; }
.section--alt:has(+ .section--alt) { padding-bottom: var(--section-pad); }
.section--dark + .section--dark { padding-top: 0; }
.section--dark:has(+ .section--dark) { padding-bottom: var(--section-pad); }

.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-heading), sans-serif;
  font-size: var(--fs-xs); font-weight: 600;
  letter-spacing: var(--eyebrow-tracking, .12em); text-transform: var(--eyebrow-transform, uppercase);
  color: var(--color-primary); margin-bottom: 14px;
}
.eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--color-primary); }
.section-title { font-size: var(--fs-h1); margin-bottom: 0; }
.section-head {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: 24px; flex-wrap: wrap; margin-bottom: 40px;
}
.section-head--center { justify-content: center; text-align: center; }
.section-head--center .eyebrow { justify-content: center; }
.section-head__text { max-width: 640px; }
.lead { color: var(--color-text); font-size: var(--fs-h4); margin-top: 14px; line-height: 1.3; }

.sh--v2 .section-head { flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.sh--v2 .section-head__text { max-width: 720px; margin-inline: auto; }
.sh--v2 .eyebrow:not(.eyebrow--light) { justify-content: center; }

.sh--v2 .eyebrow:not(.eyebrow--light)::before,
.sh--v2 .eyebrow:not(.eyebrow--light)::after { content: ""; width: 28px; height: 2px; background: currentColor; }

.sh--v3 .section-head--center { justify-content: flex-start; text-align: left; }
.sh--v3 .section-head--center .eyebrow { justify-content: flex-start; }
.sh--v3 .eyebrow:not(.eyebrow--light) { padding: 4px 12px; border-radius: var(--radius-pill); background: var(--color-tag-bg); color: var(--color-primary-dark); margin-bottom: 16px; }
.sh--v3 .eyebrow:not(.eyebrow--light)::before { display: none; }
.link-more {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  font-family: var(--font-heading), sans-serif; font-weight: 600; color: var(--color-primary);
  transition: gap var(--motion-dur) var(--motion-ease);
}
.link-more:hover { gap: 14px; }

.grid { display: grid; gap: var(--gap, 26px); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .grid--3, .grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; } }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: var(--control-h-md);
  font-family: var(--font-heading), sans-serif; font-weight: 600; font-size: var(--fs-body);
  padding: 0 26px; border-radius: var(--btn-radius, var(--radius-pill));
  transition: transform var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease);
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }

.btn--primary { background: var(--color-primary); color: var(--color-primary-text); box-shadow: 0 2px 7px color-mix(in srgb, var(--color-primary) 30%, transparent), 0 9px 24px -4px color-mix(in srgb, var(--color-primary) 42%, transparent); }
.btn--primary:hover { background: var(--color-primary-dark); box-shadow: 0 3px 9px color-mix(in srgb, var(--color-primary) 38%, transparent), 0 14px 32px -4px color-mix(in srgb, var(--color-primary) 55%, transparent); transform: translateY(-1px); }
.btn--outline { border: var(--border-width, 1.5px) solid var(--color-border); color: var(--color-heading); }
.btn--outline:hover { border-color: var(--color-primary); color: var(--color-primary); }
.btn--ghost { color: var(--color-heading); padding-inline: 6px; }
.btn--ghost:hover { color: var(--color-primary); }

.btn--block { width: 100%; white-space: normal; }

.btn--sm { min-height: var(--control-h-sm); padding-inline: 18px; gap: 8px; font-size: var(--fs-sm); }
.btn--md { min-height: var(--control-h-md); padding-inline: 26px; font-size: var(--fs-body); }

.btn--lg { min-height: var(--control-h-lg); padding-inline: 32px; font-size: var(--fs-body); }

.btn--sq { width: var(--control-h-md); padding: 0; flex: none; position: relative; }
.btn--sq.btn--sm { width: var(--control-h-sm); }
.btn--sq.btn--lg { width: var(--control-h-lg); }
.btn.btn--sq .icon { font-size: var(--icon-lg); }
.btn.btn--sq.btn--sm .icon { font-size: var(--icon-md); }

.btn--soft { color: var(--color-heading); }
.btn--soft:hover { background: var(--color-bg-alt); color: var(--color-primary); }

.btn--outline-light { border: var(--border-width, 1.5px) solid rgba(255,255,255,.55); color: #fff; }
.btn--outline-light:hover { border-color: #fff; background: rgba(255,255,255,.14); }

.tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: transparent; color: var(--color-primary-dark);
  border: 1.5px solid color-mix(in srgb, var(--color-primary) 40%, var(--color-border));
  font-family: var(--font-heading), sans-serif; font-weight: 600; font-size: var(--fs-sm);
  padding: 4px 12px; border-radius: var(--radius-pill);
}
.tag .icon { font-size: var(--icon-sm); }

.tag--accent { color: color-mix(in srgb, var(--color-accent) 74%, #000); border-color: color-mix(in srgb, var(--color-accent) 52%, var(--color-border)); }

.tag--light,
.pcard--overlay .tag,
.gcard__over .tag { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.10); }

.card {
  background: var(--color-surface); border-radius: var(--radius-lg);
  border: var(--card-border-width, 0px) solid var(--color-border);
  box-shadow: var(--shadow-card); overflow: hidden;
  transition: transform var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease);
}
.card--hover:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); }

.card--dark { background: var(--color-dark); color: #fff; border-color: transparent; }
.card--dark :is(h2,h3,h4) { color: #fff; }

.field { display: flex; flex-direction: column; gap: 7px; }
.field > label { font-size: var(--fs-md); font-weight: 600; color: var(--color-heading); }

.input, .select {
  width: 100%; min-height: var(--control-h-md); padding: 0 20px; font: inherit; font-size: var(--fs-body); color: var(--color-heading);
  background: var(--color-surface); border: var(--border-width, 1.5px) solid var(--color-border);
  border-radius: var(--btn-radius, var(--radius)); transition: border-color var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease);
}
textarea.input {
  width: 100%; min-height: 120px; padding: 14px 18px; font: inherit; font-size: var(--fs-body); color: var(--color-heading);
  background: var(--color-surface); border: var(--border-width, 1.5px) solid var(--color-border);
  border-radius: var(--radius-lg); transition: border-color var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease);
}
.input::placeholder, textarea.input::placeholder { color: var(--color-text-muted); opacity: .85; }
.input:hover, .select:hover, textarea.input:hover { border-color: color-mix(in srgb, var(--color-primary) 40%, var(--color-border)); }

.select {
  appearance: none; -webkit-appearance: none; padding-right: 46px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23667085' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 18px center; background-size: 16px;
}

.input--sm { min-height: var(--control-h-sm); font-size: var(--fs-sm); }
.input--md { min-height: var(--control-h-md); }
.input--lg { min-height: var(--control-h-lg); }

.form--lg .input, .form--lg .select { min-height: var(--control-h-lg); }
.form--lg textarea.input { min-height: 140px; }
.input:focus, .select:focus, textarea.input:focus {
  outline: none; border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

input[type="checkbox"], input[type="radio"] {
  appearance: none; -webkit-appearance: none; margin: 0; flex: none; cursor: pointer;
  width: var(--check-size, 20px); height: var(--check-size, 20px);
  display: inline-grid; place-content: center;
  background: var(--color-surface);
  border: 2px solid var(--color-border);
  transition: background var(--motion-dur) var(--motion-ease), border-color var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease);
}

input[type="checkbox"] { border-radius: var(--radius-xs); }
input[type="radio"] { border-radius: 50%; }
input[type="checkbox"]:hover, input[type="radio"]:hover { border-color: color-mix(in srgb, var(--color-primary) 55%, var(--color-border)); }
input[type="checkbox"]:checked, input[type="radio"]:checked { background: var(--color-primary); border-color: var(--color-primary); }
input[type="checkbox"]:disabled, input[type="radio"]:disabled { opacity: .45; cursor: not-allowed; }

input[type="checkbox"]::after {
  content: ""; width: 10px; height: 6px; margin-top: -2px;
  border-left: 2.5px solid var(--color-primary-text); border-bottom: 2.5px solid var(--color-primary-text);
  border-radius: 1px; transform: rotate(-45deg) scale(0); transform-origin: center;
  transition: transform var(--motion-dur) var(--motion-ease);
}
input[type="checkbox"]:checked::after { transform: rotate(-45deg) scale(1); }

input[type="radio"]::after {
  content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--color-primary-text);
  transform: scale(0); transition: transform var(--motion-dur) var(--motion-ease);
}
input[type="radio"]:checked::after { transform: scale(1); }

.progress { height: 8px; border-radius: var(--radius-pill); background: var(--color-bg-alt); overflow: hidden; }
.progress__bar { height: 100%; border-radius: var(--radius-pill); background: var(--color-primary); }

.progress__bar--accent { background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); }

.muted { color: var(--color-text-muted); }
.accent { color: var(--color-primary); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.skip-link { position: fixed; top: 12px; left: 12px; z-index: 200; transform: translateY(-160%); background: var(--color-primary); color: var(--color-primary-text); font-family: var(--font-heading), sans-serif; font-weight: 600; padding: 10px 18px; border-radius: var(--radius-sm); box-shadow: var(--shadow-card); transition: transform var(--motion-dur) var(--motion-ease); }
.skip-link:focus-visible { transform: translateY(0); outline-offset: 3px; }
[x-cloak] { display: none !important; }

.site-header--full .container { max-width: none; padding-inline: clamp(20px, 3vw, 48px); }

.site-header { position: relative; z-index: 90; }
.site-header.is-fixed { position: fixed; top: 0; left: 0; right: 0;
  box-shadow: 0 1px 0 var(--color-border), 0 8px 24px color-mix(in srgb, var(--color-overlay) 10%, transparent);
  animation: header-drop var(--motion-dur, .28s) var(--motion-ease, ease); }

.site-header.is-fixed .topbar { display: none; }

.site-header.is-fixed .navbar {
  background: color-mix(in srgb, var(--color-surface) 94%, transparent);
  backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: none;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header.is-fixed .navbar { background: var(--color-surface); }
}
.site-header__spacer { height: 0; }
@keyframes header-drop { from { transform: translateY(-100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .site-header.is-fixed { animation: none; } }

.topbar { position: relative; z-index: 60; background: var(--color-primary-dark); color: #fff;
  font-size: var(--fs-sm); font-weight: 500; }
.topbar__in { display: flex; justify-content: space-between; align-items: center; min-height: 40px; gap: 16px; }
.topbar__left, .topbar__right { display: flex; align-items: center; gap: 18px; min-width: 0; }

.topbar__right { margin-inline-start: auto; }
.topbar__msg { display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-weight: 500; }

.topbar__item { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; font-weight: 500;
  color: #fff; transition: color var(--motion-dur) var(--motion-ease); }
.topbar__item:hover { color: rgba(255,255,255,.72); }

.topbar .lang__btn { height: auto; padding: 4px 2px; border: 0; background: none; border-radius: 0;
  font-size: var(--fs-sm); font-weight: 500; color: #fff;
  transition: color var(--motion-dur) var(--motion-ease); }
.topbar .lang__btn:hover { background: none; border: 0; color: rgba(255,255,255,.72); }

.topbar .lang__opt, .topbar .lang__opt .lang__code, .topbar .lang__opt .lang__name { font-weight: 500; }

@media (max-width: 1300px) { .topbar__left .topbar__item:last-child { display: none; } }
@media (max-width: 1180px) { .topbar__left .topbar__item { display: none; } }

@media (max-width: 1120px) {
  .topbar__right { display: none; }
  .topbar__left .topbar__item { display: none; }
  .topbar__msg { flex: 1 1 auto; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
}

.navbar { position: relative; background: var(--color-surface); box-shadow: var(--shadow-soft); }

.navbar__in { display: flex; align-items: center; gap: 28px; min-height: 88px; transition: min-height var(--motion-dur) var(--motion-ease); }

.brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }

.brand__logo { height: var(--brand-logo-h, 60px); width: auto; transition: height var(--motion-dur) var(--motion-ease); }

.site-header.is-scrolled .navbar__in { min-height: 78px; }

.site-header.is-scrolled .brand__logo { height: min(var(--brand-logo-h, 60px), 58px); }

@media (max-width: 1120px) {

  .navbar__in { min-height: 74px; gap: 14px; }
  .navbar__actions { gap: 10px; }
  .navbar__actions .btn--sq { width: var(--control-h-sm); height: var(--control-h-sm); }
  .navbar__actions .btn--sq .icon { font-size: var(--icon-md); }
  .brand { min-width: 0; }
  .brand__logo { height: calc(var(--brand-logo-h, 60px) * .85); max-width: 100%; object-fit: contain; }
  .site-header.is-scrolled .navbar__in { min-height: 64px; }
  .site-header.is-scrolled .brand__logo { height: calc(var(--brand-logo-h, 60px) * .68); }
}

.navbar__in--v2 { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; }
.navbar__in--v2 > * { grid-row: 1; }
.navbar__in--v2 .brand { grid-column: 2; justify-self: center; flex: 0 0 auto; }
.navbar__in--v2 .mainnav { grid-column: 1; justify-content: flex-start; }
.navbar__in--v2 .navbar__actions { grid-column: 3; }
@media (max-width: 1100px) {

  .navbar__in--v2 { display: flex; }
  .navbar__in--v2 .brand { justify-self: auto; flex: 1 1 0; }
}
.brand__mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius); background: var(--color-primary); color: var(--color-primary-text); font-size: var(--fs-h4); }
.brand__name { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-h4); color: var(--color-heading); }

.mainnav { display: flex; align-items: center; justify-content: flex-start; gap: 0; flex: 1 1 auto; min-width: 0; }
.mainnav__item { position: relative; }
.mainnav__link { display: inline-flex; align-items: center; gap: 5px; padding: 10px 11px; border-radius: var(--radius-sm); font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); color: var(--color-heading); white-space: nowrap; }
.mainnav__link:hover { color: var(--color-primary); background: var(--color-bg-alt); }
.caret { font-size: var(--fs-xs); opacity: .6; }
.dropdown { position: absolute; top: calc(100% + 6px); left: 0; min-width: 240px; background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 8px; z-index: 60; transition: opacity calc(var(--motion-dur) * 1.6) var(--motion-ease), transform calc(var(--motion-dur) * 1.6) var(--motion-ease); }

.pop-out { opacity: 0; transform: translateY(-8px); }
.pop-in  { opacity: 1; transform: translateY(0); }

.dropdown--mega { left: auto; right: 0; padding: 0; }
.mega { display: grid; gap: 4px 24px; padding: 20px; }
.mega__col { display: flex; flex-direction: column; gap: 2px; }
.menu-group { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .1em; font-size: var(--fs-xs); font-weight: 700; color: var(--color-text-muted); padding: 6px 10px 10px; }

.menu-link { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: var(--radius-sm); font-size: var(--fs-body); font-weight: 500; color: var(--color-heading); white-space: nowrap; transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.menu-link:hover { background: var(--color-bg-alt); color: var(--color-primary); }
.menu-ico { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: var(--radius-sm); background: var(--color-bg-alt); color: var(--color-primary); transition: background var(--motion-dur) var(--motion-ease); }
.menu-ico--sm { width: 28px; height: 28px; }
.menu-link:hover .menu-ico { background: var(--color-surface); }

.navbar__actions { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; justify-content: flex-end; margin-inline-start: auto; }
.navbar__tools { display: inline-flex; align-items: center; gap: 6px; }

.navbar__actions .btn--sq {
  width: var(--control-h-md); height: var(--control-h-md); min-height: 0; padding: 0; flex: none;
  border: 1px solid var(--color-border); background: transparent;
  border-radius: var(--btn-radius, var(--radius-sm)); color: var(--color-heading);
}
.navbar__actions .btn--sq .icon { font-size: var(--icon-lg); }
.navbar__actions .btn--sq:hover {
  border-color: var(--color-primary); color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 7%, transparent);
}

.navbar__actions .lang__btn { height: var(--control-h-md); border-radius: var(--btn-radius, var(--radius-pill)); }

.navbar__actions .cta-donate { margin-inline-start: 0; }

.navbar__actions > :last-child:not(.navbar__tools):not(.lang) { position: relative; }
.navbar__actions .donate-nav, .navbar__actions > .cta-donate {
  padding-inline-start: 16px; border-inline-start: 1px solid var(--color-border);
}
.lang { position: relative; flex: 0 0 auto; }

.lang__btn { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
  height: var(--control-h-sm); padding: 0 10px; border: var(--border-width, 1px) solid var(--color-border);
  border-radius: var(--radius-pill); font-family: var(--font-heading); font-weight: 700;
  font-size: var(--fs-body); color: var(--color-heading); }
.lang__btn:hover { background: var(--color-bg-alt); border-color: var(--color-primary); }
.lang__btn .caret { font-size: var(--icon-sm); opacity: .6; }
.lang__flag { width: 21px; height: 14px; border-radius: 2px; object-fit: cover; flex: none;
  box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.lang__code { line-height: 1; }
.lang__menu { position: absolute; top: calc(100% + 6px); right: 0; background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 6px; min-width: 132px; z-index: 60; transition: opacity calc(var(--motion-dur) * 1.6) var(--motion-ease), transform calc(var(--motion-dur) * 1.6) var(--motion-ease); }
.lang__opt { display: flex; align-items: center; gap: 9px; padding: 8px 10px; border-radius: var(--radius-sm); font-size: var(--fs-body); font-weight: 600; color: var(--color-heading); white-space: nowrap; }
.lang__opt:hover { background: var(--color-bg-alt); }
.lang__opt.is-active { color: var(--color-primary-dark); background: var(--color-tag-bg); }
.lang__name { color: var(--color-text-muted); font-weight: 500; }

.topbar .lang__btn { border-color: rgba(255,255,255,.28); }
.topbar .lang__btn:hover { border-color: rgba(255,255,255,.6); }

.badge { position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--radius-pill); background: var(--color-primary); color: var(--color-primary-text); font-size: var(--fs-xs); font-weight: 700; display: grid; place-items: center; box-shadow: 0 0 0 2px var(--color-surface); }
.cta-donate { margin-inline-start: 4px; }
.cta-donate__ico { font-size: var(--fs-sm); }

.donate-nav { position: relative; }
.donate-mega {
  position: absolute; top: calc(100% + 12px); right: 0; z-index: 70;
  width: min(760px, calc(100vw - 32px));
  display: grid; grid-template-columns: 224px 1fr;
  background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-hover); overflow: hidden;
  transition: opacity calc(var(--motion-dur) * 1.6) var(--motion-ease), transform calc(var(--motion-dur) * 1.6) var(--motion-ease);
}

.donate-mega::before { content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }

.donate-mega__tabs { background: var(--color-bg-alt); padding: 16px 14px; display: flex; flex-direction: column; gap: 2px; }
.donate-mega__tabs .menu-group { padding: 4px 10px 10px; }
.dtab { display: flex; align-items: center; gap: 11px; width: 100%; padding: 11px 12px; border-radius: var(--radius-sm); font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-body); color: var(--color-heading); text-align: left; transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease); }
.dtab__ico { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-primary); font-size: var(--icon-sm); transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.dtab__lbl { flex: 1 1 auto; white-space: nowrap; }
.dtab__go { font-size: var(--fs-xs); opacity: 0; transform: translateX(-4px); transition: opacity var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.dtab:hover { background: var(--color-surface); color: var(--color-primary); }
.dtab.is-active { background: var(--color-surface); color: var(--color-primary); box-shadow: var(--shadow-soft); }
.dtab.is-active .dtab__ico { background: var(--color-primary); color: var(--color-primary-text); }
.dtab.is-active .dtab__go { opacity: .7; transform: translateX(0); }

.donate-mega__panel { padding: 20px; min-width: 0; }
.dpanel__cards { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-sm, 18px); }
.dmcard { display: flex; flex-direction: column; }
.dmcard__media { height: 150px; overflow: hidden; }
.dmcard__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform calc(var(--motion-dur) * 2.4) var(--motion-ease); }
.dmcard:hover .dmcard__media img { transform: scale(1.06); }
.dmcard__body { display: flex; flex-direction: column; gap: 10px; padding: var(--card-pad); flex: 1; }
.dmcard__title { font-family: var(--font-heading); font-weight: var(--heading-weight, 800); letter-spacing: var(--heading-tracking, -0.02em); font-size: var(--fs-h4); color: var(--color-heading); line-height: 1.25; }
.dmcard__desc { font-size: var(--fs-sm); color: var(--color-text); line-height: 1.5; flex: 1; }
.dmcard__foot { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 4px; }
.dmcard__foot-lbl { font-size: var(--fs-xs); color: var(--color-text-muted); }
.dmcard__price { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h4); color: var(--color-primary); white-space: nowrap; }
.dmcard .btn--block { margin-top: 12px; }
.dpanel__all { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-sm); color: var(--color-primary); }
.dpanel__all .icon { transition: transform var(--motion-dur) var(--motion-ease); }
.dpanel__all:hover .icon { transform: translateX(4px); }

@media (max-width: 980px) {
  .donate-mega { width: min(560px, calc(100vw - 24px)); grid-template-columns: 188px 1fr; }
  .dpanel__cards { grid-template-columns: 1fr; }
  .dmcard { flex-direction: row; }
  .dmcard__media { flex: 0 0 128px; height: auto; }
  .dmcard__body { padding: 16px 18px; }
}

.hamburger { display: none; }

.dchip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px 6px 6px; border-radius: var(--radius-pill); background: var(--color-bg-alt); font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-sm); color: var(--color-heading); white-space: nowrap; transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.dchip .menu-ico--sm { width: 28px; height: 28px; }
.dchip.is-active { background: var(--color-primary); color: var(--color-primary-text); }
.dchip.is-active .menu-ico--sm { background: color-mix(in srgb, #fff 22%, transparent); color: var(--color-primary-text); }

.cta-donate-m { display: none; }
.cta-donate-m .icon { font-size: var(--icon-md); }

.dsheet { position: fixed; inset: 0; z-index: 110; background: color-mix(in srgb, var(--color-overlay) 45%, transparent); }
.dsheet__panel { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; max-height: 88vh; background: var(--color-surface); border-radius: var(--radius-lg) var(--radius-lg) 0 0; box-shadow: 0 -20px 50px rgba(18, 28, 22, .22); transition: transform var(--motion-dur) var(--motion-ease); }
.dsheet__panel--out { transform: translateY(100%); }

.dsheet__panel::before { content: ""; width: 40px; height: 4px; border-radius: var(--radius-pill); background: var(--color-border); margin: 8px auto 0; flex: none; }
.dsheet__head { display: flex; align-items: center; justify-content: space-between; padding: 8px 20px 12px; }
.dsheet__title { font-family: var(--font-heading); font-weight: var(--heading-weight, 800); letter-spacing: var(--heading-tracking, -0.02em); font-size: var(--fs-h4); color: var(--color-heading); }
.dsheet__tabs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 4px 20px 14px; border-bottom: 1px solid var(--color-border); }
.dsheet__tabs::-webkit-scrollbar { display: none; }
.dsheet__body { padding: 18px 20px calc(20px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.dsheet__cards { display: flex; flex-direction: column; gap: 14px; }

.dsheet__cards .dmcard__media { flex-basis: 100px; }
.dsheet__cards .dmcard__body { padding: 12px 14px; gap: 7px; }
.dsheet__cards .dmcard__title { font-size: var(--fs-body); }
.dsheet__cards .dmcard__desc { font-size: var(--fs-sm); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dsheet__cards .dmcard__price { font-size: var(--fs-body); }
.dsheet__cards .dmcard .btn--block { margin-top: 8px; }

.drawer { position: fixed; inset: 0; z-index: 100; background: color-mix(in srgb, var(--color-overlay) 45%, transparent); }
.drawer__panel { position: absolute; top: 0; right: 0; height: 100%; width: min(90vw, 380px); background: var(--color-surface); padding: 16px 20px calc(20px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; box-shadow: -20px 0 50px rgba(18, 28, 22, .2); transition: transform var(--motion-dur) var(--motion-ease); }
.drawer__panel--out { transform: translateX(100%); }

.drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--color-border); }
.brand--drawer .brand__logo { height: 50px; width: auto; }
.drawer__close { flex: none; display: grid; place-items: center; font-size: var(--fs-h4); width: 42px; height: 42px; border-radius: var(--radius-sm); color: var(--color-heading); background: var(--color-bg-alt); }
.drawer__close:hover { color: var(--color-primary); }

.drawer__nav { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 2px 0; }
.drawer__item { border-bottom: 1px solid var(--color-border); }
.drawer__nav > .drawer__link { border-bottom: 1px solid var(--color-border); }

.drawer__link { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 54px; padding: 14px 4px; font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-md); color: var(--color-heading); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.drawer__link:hover, .drawer__link:focus-visible { color: var(--color-primary); }
summary.drawer__link { list-style: none; }
summary.drawer__link::-webkit-details-marker { display: none; }
.drawer__caret { flex: none; font-size: var(--fs-sm); color: var(--color-text-muted); transition: transform var(--motion-dur) var(--motion-ease); }
.drawer__item[open] > summary { color: var(--color-primary); }
.drawer__item[open] > summary .drawer__caret { transform: rotate(180deg); color: var(--color-primary); }

.drawer__sub { display: flex; flex-direction: column; gap: 2px; margin: 2px 0 12px; padding: 8px; background: var(--color-bg-alt); border-radius: var(--radius); }
.drawer__sublink { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 8px 10px; font-size: var(--fs-body); color: var(--color-text); border-radius: var(--radius-sm); }
.drawer__sublink:hover { background: var(--color-surface); color: var(--color-primary); }
.drawer__group { display: block; font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .1em; font-size: var(--fs-xs); font-weight: 700; color: var(--color-text-muted); padding: 10px 10px 4px; }

.drawer__foot { display: flex; flex-direction: column; gap: 12px; padding-top: 16px; border-top: 1px solid var(--color-border); }

.drawer__langs { display: flex; gap: 8px; }
.drawer__lang { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: var(--control-h-sm); border: 1px solid var(--color-border); border-radius: var(--btn-radius, var(--radius-sm));
  font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-md); color: var(--color-heading); }
.drawer__lang.is-active { border-color: var(--color-primary); color: var(--color-primary-dark); background: var(--color-tag-bg); }
.drawer__tel { display: flex; align-items: center; gap: 12px; padding: 8px 4px; color: var(--color-heading); }
.drawer__tel:hover { color: var(--color-primary); }
.drawer__tel-txt { display: flex; flex-direction: column; line-height: 1.25; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); }
.drawer__tel-txt small { font-family: var(--font-body); font-weight: 400; font-size: var(--fs-xs); color: var(--color-text-muted); }

.carousel { overflow: hidden; padding: 14px 20px 48px; margin: -14px -20px -48px; }
.carousel__track { display: flex; gap: var(--gap, 26px); }
.carousel__slide { flex: 0 0 100%; min-width: 0; }
.carousel__slide--3 { flex-basis: calc((100% - 2 * var(--gap, 26px)) / 3); }
.carousel__slide--4 { flex-basis: calc((100% - 3 * var(--gap, 26px)) / 4); }
.carousel__arrows { display: flex; gap: 10px; }
.carousel__arrows button { width: 46px; height: 46px; border-radius: 50%; background: var(--color-surface); box-shadow: var(--shadow-soft); font-size: var(--fs-h3); color: var(--color-heading); }
.carousel__arrows button:hover { color: var(--color-primary); }
@media (max-width: 900px) { .carousel__slide--3, .carousel__slide--4 { flex-basis: calc((100% - var(--gap, 26px)) / 2); } }
@media (max-width: 620px) { .carousel__slide--3, .carousel__slide--4 { flex-basis: 86%; } }

.carousel__nav { display: inline-flex; align-items: center; gap: 12px; }
.carousel__nav--center { display: flex; justify-content: center; margin-top: 30px; }
.carousel__arrow { flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--color-surface); box-shadow: var(--shadow-soft); color: var(--color-heading); display: grid; place-items: center; transition: color var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease), opacity var(--motion-dur) var(--motion-ease); }
.carousel__arrow .icon { font-size: var(--icon-lg); }
.carousel__arrow:hover { color: var(--color-primary); box-shadow: var(--shadow-card); }
.carousel__arrow:disabled { opacity: .35; cursor: not-allowed; box-shadow: var(--shadow-soft); color: var(--color-heading); }
.carousel__count { font-family: var(--font-heading); font-weight: 700; letter-spacing: .06em; color: var(--color-text-muted); display: inline-flex; align-items: center; gap: 6px; min-width: 64px; justify-content: center; }
.carousel__count span:first-child { color: var(--color-heading); }
.carousel__count i { font-style: normal; opacity: .45; }

.section-head__aside { display: inline-flex; align-items: center; gap: clamp(14px, 2vw, 24px); flex-wrap: wrap; }

.carousel__dots { display: flex; justify-content: center; gap: 9px; margin-top: 30px; }
.carousel__dot { width: 9px; height: 9px; border-radius: 50%; background: color-mix(in srgb, var(--color-primary) 26%, var(--color-border)); transition: width var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease); }
.carousel__dot:hover { background: color-mix(in srgb, var(--color-primary) 55%, var(--color-border)); }
.carousel__dot.is-active { background: var(--color-primary); width: 26px; border-radius: 99px; }

.section-more { display: flex; justify-content: center; margin-top: clamp(28px, 3vw, 42px); }

.video__navrow { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.video-sec .carousel__count { color: rgba(255,255,255,.7); }
.video-sec .carousel__count span:first-child { color: #fff; }

.focus__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }

.focus--v1 .fcard { position: relative; padding: clamp(22px, 2.4vw, 30px); display: flex; flex-direction: column; gap: 12px; box-shadow: var(--shadow-card); overflow: hidden; transition: box-shadow var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.focus--v1 .fcard:hover { box-shadow: var(--shadow-hover); transform: translateY(-3px); }
.focus--v1 .fcard__icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: var(--radius); background: var(--color-tag-bg); color: var(--color-primary);
  transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.focus--v1 .fcard__icon .icon { color: inherit; }
.focus--v1 .fcard:hover .fcard__icon { background: var(--color-primary); color: var(--color-primary-text); }
.focus--v1 .fcard__title { font-size: var(--fs-h4); }
.focus--v1 .fcard__desc { font-size: var(--fs-body); color: var(--color-text); line-height: var(--body-leading); flex: 1 1 auto; }
.focus--v1 .fcard__more { display: inline-flex; align-items: center; gap: 7px; margin-top: 2px; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); color: var(--color-primary); }
.focus--v1 .fcard__more .icon { transition: transform var(--motion-dur) var(--motion-ease); }
.focus--v1 .fcard:hover .fcard__more .icon { transform: translateX(4px); }

.focus--v1 .fcard--featured { grid-column: span 2; border-color: transparent; color: #fff;
  background: linear-gradient(150deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); }
.focus--v1 .fcard--featured .fcard__icon { background: rgba(255,255,255,.18); color: #fff; }
.focus--v1 .fcard--featured:hover .fcard__icon { background: #fff; color: var(--color-primary); }
.focus--v1 .fcard--featured .fcard__title { color: #fff; }
.focus--v1 .fcard--featured .fcard__desc { color: rgba(255,255,255,.9); }
.focus--v1 .fcard--featured .fcard__more { color: #fff; opacity: 1; transform: none; }
.fcard__ghost { position: absolute; right: -22px; bottom: -34px; color: #fff; opacity: .13; pointer-events: none; line-height: 0; }
.fcard__ghost .icon { font-size: 188px; }
@media (max-width: 900px) { .focus__grid { grid-template-columns: repeat(2, 1fr); } .focus--v1 .fcard--featured { grid-column: span 2; } }
@media (max-width: 560px) { .focus__grid { grid-template-columns: 1fr; } .focus--v1 .fcard--featured { grid-column: span 1; } }

.focus__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.focus--v2 .frow { position: relative; display: flex; align-items: center; gap: 18px; overflow: hidden;
  padding: clamp(18px, 2vw, 24px) clamp(18px, 2vw, 24px) clamp(18px, 2vw, 24px) clamp(22px, 2.4vw, 28px);
  background: var(--color-surface); box-shadow: var(--shadow-card); border-radius: var(--radius-lg);
  transition: box-shadow var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.focus--v2 .frow::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--color-primary); transform: scaleY(0); transform-origin: top; transition: transform var(--motion-dur) var(--motion-ease); }
.focus--v2 .frow:hover { box-shadow: var(--shadow-hover); transform: translateY(-3px); }
.focus--v2 .frow:hover::before { transform: scaleY(1); }
.focus--v2 .frow__icon { flex: 0 0 auto; display: grid; place-items: center; width: 54px; height: 54px; border-radius: var(--radius); background: var(--color-tag-bg); color: var(--color-primary);
  transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.focus--v2 .frow__icon .icon { color: inherit; font-size: var(--icon-lg); }
.focus--v2 .frow:hover .frow__icon { background: var(--color-primary); color: var(--color-primary-text); }
.focus--v2 .frow__body { flex: 1 1 auto; min-width: 0; }
.focus--v2 .frow__title { font-size: var(--fs-h4); margin-bottom: 4px; transition: color var(--motion-dur) var(--motion-ease); }
.focus--v2 .frow:hover .frow__title { color: var(--color-primary); }
.focus--v2 .frow__desc { font-size: var(--fs-body); color: var(--color-text-muted); line-height: 1.55; }
.focus--v2 .frow__go { flex: 0 0 auto; align-self: center; color: var(--color-primary); opacity: 0; transform: translateX(-6px); transition: opacity var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.focus--v2 .frow__go .icon { font-size: var(--icon-md); }
.focus--v2 .frow:hover .frow__go { opacity: 1; transform: translateX(0); }
@media (max-width: 700px) { .focus__list { grid-template-columns: 1fr; } }

.focus__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.ftile { position: relative; padding: var(--card-pad); display: flex; flex-direction: column; gap: 12px; overflow: hidden; }
.ftile::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--color-primary); transform: scaleX(0); transform-origin: left; transition: transform var(--motion-dur) var(--motion-ease); }
.ftile:hover::before { transform: scaleX(1); }
.ftile__num { position: absolute; top: 14px; right: 18px; font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h2); line-height: 1; color: var(--color-tag-bg); }
.ftile__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--radius); background: var(--color-bg-alt); color: var(--color-primary); }
.ftile__icon .icon { font-size: var(--icon-lg); }
.ftile__title { font-size: var(--fs-h4); }
.ftile__desc { font-size: var(--fs-body); color: var(--color-text-muted); }
@media (max-width: 900px) { .focus__tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .focus__tiles { grid-template-columns: 1fr; } }

.db__layout { display: grid; grid-template-columns: minmax(260px, 0.85fr) 1.15fr; gap: clamp(30px, 5vw, 64px); align-items: center; }
.db__head { margin-bottom: 24px; }
.db__head .lead { margin-top: 12px; }

.db__list { display: flex; flex-direction: column; gap: 12px; }
.db__item { display: flex; align-items: center; gap: 16px; padding: 12px 16px; background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius); }
.db__item.is-on { border-color: var(--color-primary); box-shadow: var(--shadow-soft); }
.db__thumb { flex: none; width: 58px; height: 58px; display: grid; place-items: center; background: var(--color-bg-alt); border-radius: var(--radius); overflow: hidden; }
.db__icon { color: var(--color-primary); }
.db__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.db__label { font-family: var(--font-heading); font-size: var(--fs-h4); color: var(--color-heading); }
.db__note { font-size: var(--fs-sm); }
.db__price { font-family: var(--font-heading); font-weight: 700; color: var(--color-primary-dark); white-space: nowrap; }
.db__stepper { display: inline-flex; align-items: center; gap: 10px; flex: none; }
.db__stepper button { width: 32px; height: 32px; border-radius: 50%; background: var(--color-bg-alt); color: var(--color-heading); transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.db__stepper button:hover { background: var(--color-primary); color: var(--color-primary-text); }
.db__stepper .db__qty { width: 3ch; min-width: 20px; font-weight: 700; font-family: var(--font-heading); color: var(--color-heading); font-size: var(--fs-body); }
.db__figure img { width: 100%; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.db__foot { display: flex; align-items: center; gap: 18px; margin-top: 24px; flex-wrap: wrap; }
.db__total { font-size: var(--fs-h4); color: var(--color-heading); font-family: var(--font-heading); }
.db__total strong { color: var(--color-primary); }
.db__foot .btn { margin-inline-start: auto; }
.db__fine { display: flex; align-items: flex-start; gap: 8px; margin-top: 16px; font-size: var(--fs-sm); }
@media (max-width: 860px) { .db__layout { grid-template-columns: 1fr; } .db__visual { max-width: 300px; margin-inline: auto; } }
@media (max-width: 460px) { .db__foot .btn { margin-inline-start: 0; width: 100%; } }

.projects__bar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 28px; flex-wrap: wrap; }
.tabs { display: inline-flex; gap: 4px; background: var(--color-surface); padding: 6px; border-radius: var(--radius-pill); box-shadow: var(--shadow-soft); }
.tab { padding: 10px 22px; border-radius: var(--radius-pill); font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-body); color: var(--color-text); }
.tab.is-active { background: var(--color-primary); color: var(--color-primary-text); }

@media (max-width: 620px) {

  .projects__bar { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 14px; }

  .tabs { display: flex; min-width: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .tabs::-webkit-scrollbar { display: none; }
  .tab { white-space: nowrap; flex: 0 0 auto; }

  .projects__bar .carousel__nav { display: none; }
}

.projects--grid .tabs--wrap { margin-top: 4px; }
.projects__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.projects__grid > .pcard { height: 100%; }
@media (max-width: 900px) { .projects__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .projects__grid { grid-template-columns: 1fr; } }
.pcard { display: flex; flex-direction: column; height: 100%; }
.pcard__media img { width: 100%; aspect-ratio: 16/11; object-fit: cover; }
.pcard__body { padding: var(--card-pad); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; flex: 1 1 auto; }
.pcard__toprow { display: flex; }
.pcard__title { font-size: var(--fs-h4); }
.pcard__desc { font-size: var(--fs-body); color: var(--color-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.pcard__stats { display: flex; gap: 10px; width: 100%; margin-top: 2px; }
.pcard__stat { flex: 1 1 0; min-width: 0; padding: 10px 12px; border-radius: var(--radius); background: var(--color-bg); }
.pcard__stat strong { display: block; font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h4); color: var(--color-primary-dark); line-height: 1.1; }
.pcard__stat span { font-size: var(--fs-xs); color: var(--color-text-muted); }

.pcard__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: auto; padding-top: 4px; }
.pcard__status { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-sm); font-weight: 600; color: var(--color-text-muted); }
.pcard__status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-text-muted); flex: none; }
.pcard__status.is-ongoing .pcard__status-dot { background: var(--color-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent); }
.pcard__status.is-completed .pcard__status-dot { background: var(--color-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent); }
.pcard__foot .btn { margin-top: 0; }
.pcard--framed .btn, .pcard--overlay .btn { margin-top: auto; }

.pcard--overlay { position: relative; min-height: 420px; display: flex; flex-direction: column; justify-content: flex-end; }
.pcard__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pcard__scrim { position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in oklab, var(--color-overlay) 90%, transparent) 6%, color-mix(in oklab, var(--color-overlay) 35%, transparent) 46%, transparent 78%); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); -webkit-mask-image: linear-gradient(to top, #000 42%, transparent 80%); mask-image: linear-gradient(to top, #000 42%, transparent 80%); }
.pcard--overlay .pcard__over { position: relative; padding: var(--card-pad); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.pcard--overlay .pcard__title { color: #fff; }
.pcard--overlay .pcard__desc { color: rgba(255,255,255,.86); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pcard--overlay .btn { margin-top: 2px; }

.pcard--framed { padding: var(--card-pad); gap: 0; }
.pcard__frame { position: relative; margin-bottom: 30px; }
.pcard__frame img { width: 100%; aspect-ratio: 16/11; object-fit: cover; border-radius: var(--radius); }
.pcard__badge { position: absolute; left: 14px; bottom: 0; transform: translateY(50%); box-shadow: var(--shadow-soft); }
.pcard--framed .pcard__body { padding: 0; gap: 10px; }
.pcard__link { margin-top: 4px; }

.ccard { display: flex; flex-direction: column; height: 100%; }
.ccard__media { position: relative; }
.ccard__media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.ccard__meta { position: absolute; bottom: 10px; left: 10px; right: 10px; display: flex; justify-content: space-between; gap: 8px; }
.ccard__meta span { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.92); color: var(--color-heading); font-size: var(--fs-sm); font-weight: 600; padding: 4px 10px; border-radius: var(--radius-pill); }
.ccard__body { padding: var(--card-pad); display: flex; flex-direction: column; gap: 12px; flex: 1 1 auto; }
.ccard__toprow { display: flex; }
.ccard__title { font-size: var(--fs-h4); }
.ccard__desc { font-size: var(--fs-body); color: var(--color-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ccard__nums { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-top: 2px; }
.ccard__nums strong { font-size: var(--fs-h3); color: var(--color-heading); font-family: var(--font-heading); }
.ccard__pct { margin-inline-start: auto; font-weight: 700; color: var(--color-primary); }

.ccard__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 4px; }
.ccard__donors { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: 600; color: var(--color-text-muted); }
.ccard__donors .icon { font-size: var(--icon-sm); color: var(--color-primary); }

.ccard__title a, .pcard__title a, .ncard__title a { color: inherit; transition: color var(--motion-dur) var(--motion-ease); }
.ccard__title a:hover, .pcard__title a:hover, .ncard__title a:hover { color: var(--color-primary); }
.ncard--overlay .ncard__title a:hover { color: #fff; opacity: .85; }

.progress--lg { height: 12px; }
.ccard__goal { display: flex; align-items: baseline; gap: 8px; }
.ccard__goal-pct { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h1); line-height: 1; color: var(--color-primary); }
.ccard__goal-lbl { font-size: var(--fs-sm); font-weight: 600; color: var(--color-text-muted); }
.ccard--progress .ccard__nums strong { font-size: var(--fs-body); color: var(--color-text); }
.ccard--progress .ccard__nums { gap: 6px; }

.ccard--overlay { position: relative; min-height: 440px; display: flex; flex-direction: column; justify-content: flex-end; }
.ccard__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ccard__scrim { position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in oklab, var(--color-overlay) 92%, transparent) 10%, color-mix(in oklab, var(--color-overlay) 38%, transparent) 55%, transparent 88%); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); -webkit-mask-image: linear-gradient(to top, #000 48%, transparent 85%); mask-image: linear-gradient(to top, #000 48%, transparent 85%); }
.ccard--overlay .ccard__over { position: relative; padding: var(--card-pad); display: flex; flex-direction: column; gap: 12px; width: 100%; }
.ccard__meta--static { position: static; inset: auto; justify-content: flex-start; flex-wrap: wrap; }
.ccard__meta--static span { background: rgba(255,255,255,.16); color: #fff; backdrop-filter: blur(4px); }
.ccard__meta--static .ccard__meta-ico { color: #fff; }
.ccard--overlay .ccard__title { color: #fff; }
.ccard--overlay .ccard__nums strong { color: #fff; }
.ccard--overlay .ccard__nums .muted { color: rgba(255,255,255,.82); }
.ccard--overlay .ccard__pct { color: #fff; }
.ccard--overlay .progress { background: rgba(255,255,255,.28); }

.impact__grid { display: grid; gap: var(--gap-sm); }
.stat__body { display: flex; flex-direction: column; gap: 4px; }
.stat__value { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h2); color: var(--color-primary); line-height: 1; }
.stat__label { font-size: var(--fs-sm); color: var(--color-text); }

.impact--v1 .impact__grid { grid-auto-flow: column; grid-auto-columns: 1fr; }
.impact--v1 .stat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 26px 16px; border-radius: var(--radius-lg); }
.impact--v1 .stat__body { align-items: center; }

.impact--v2 .impact__grid { grid-auto-flow: column; grid-auto-columns: 1fr; gap: 0; }
.impact--v2 .stat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 8px 18px; border-inline-start: 1px solid var(--color-border); }
.impact--v2 .stat:first-child { border-inline-start: none; }
.impact--v2 .stat__body { align-items: center; }
.impact--v2 .stat__value { font-size: var(--fs-h1); }
.impact--v2 .stat__icon .icon { color: var(--color-primary); }

.impact--v3 .impact__grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
.impact--v3 .stat { display: flex; align-items: center; gap: 16px; background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius-lg); padding: 22px; }
.impact--v3 .stat__icon { display: grid; place-items: center; width: 54px; height: 54px; flex: none; border-radius: var(--radius); background: var(--color-bg-alt); }
.impact--v3 .stat__icon .icon { color: var(--color-primary); }

@media (max-width: 900px) { .impact--v1 .impact__grid, .impact--v2 .impact__grid { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); } .impact--v2 .stat:nth-child(3n+1) { border-inline-start: none; } }
@media (max-width: 720px) { .impact--v3 .impact__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .impact--v1 .impact__grid, .impact--v2 .impact__grid { grid-template-columns: repeat(2, 1fr); } .impact--v3 .impact__grid { grid-template-columns: 1fr; } }

.ncard { display: flex; flex-direction: column; height: 100%; }
.ncard__media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.ncard__body { padding: var(--card-pad); display: flex; flex-direction: column; gap: 10px; }
.ncard__date { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-sm); color: var(--color-text-muted); font-weight: 600; }
.ncard__title { font-size: var(--fs-h4); }
.ncard__desc { font-size: var(--fs-body); color: var(--color-text); }
.ncard .link-more { margin-top: 4px; }

.news--v1 .ncard__desc { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--news-lines, 3); overflow: hidden; }

.news--v2 .carousel__slide, .news--v3 .carousel__slide { display: flex; }

.news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.news__grid > .ncard { height: 100%; }
@media (max-width: 900px) { .news__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .news__grid { grid-template-columns: 1fr; } }

.ncard--text { display: flex; flex-direction: column; width: 100%; min-height: 420px; padding: var(--card-pad); border: var(--border-width, 1px) solid var(--color-border); box-shadow: var(--shadow-soft); }
.ncard--text .ncard__title { font-size: var(--fs-h3); margin-bottom: 14px; }

.ncard__longtext { position: relative; flex: 1 1 auto; overflow: hidden; color: var(--color-text); font-size: var(--fs-body); line-height: var(--body-leading, 1.7); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--news-lines, 8); }

.ncard__longtext::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 62%; pointer-events: none; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); background: linear-gradient(to top, var(--color-surface) 8%, transparent 88%); -webkit-mask-image: linear-gradient(to top, #000 22%, transparent 92%); mask-image: linear-gradient(to top, #000 22%, transparent 92%); }
.ncard__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.ncard--text .ncard__date { color: var(--color-text-muted); }

.ncard--overlay { position: relative; width: 100%; min-height: 380px; display: flex; flex-direction: column; justify-content: flex-end; }
.ncard__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ncard__scrim { position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in srgb, var(--color-overlay) 90%, transparent) 4%, color-mix(in srgb, var(--color-overlay) 45%, transparent) 46%, transparent 82%); }
.ncard--overlay .ncard__over { position: relative; padding: var(--card-pad); display: flex; flex-direction: column; gap: 8px; }
.ncard--overlay .ncard__title { color: #fff; font-size: var(--fs-h4); }

.ncard__over-desc { color: rgba(255,255,255,.85); font-size: var(--fs-body); line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--news-lines, 2); overflow: hidden; }
.ncard__date--light, .ncard__date--light .ncard__date-ico { color: rgba(255,255,255,.85); }
.link-more--light { color: #fff; }

.bank__cards { display: flex; flex-direction: column; gap: var(--gap); min-width: 0; }

.bank-card { background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); overflow: hidden; }
.bank-card__hd { display: flex; flex-wrap: nowrap; align-items: stretch; gap: clamp(16px, 3vw, 40px); padding: 22px var(--card-pad); border-bottom: 1px solid var(--color-border); }
.bank-card__brand { display: flex; align-items: center; flex-shrink: 0; padding-right: clamp(16px, 3vw, 40px); border-right: 1px solid var(--color-border); }

.bank-logo { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: var(--radius); flex-shrink: 0; }
.bank-logo--mark { background: var(--logo-bg, var(--color-primary)); color: var(--logo-fg, #fff); font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-sm); letter-spacing: .03em; }
img.bank-logo { width: 124px; height: 42px; border-radius: 0; object-fit: contain; object-position: left center; }
.bank-card__bank { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h4); color: var(--color-heading); }
.bank-card__meta { display: flex; flex-wrap: nowrap; align-items: center; gap: 16px clamp(18px, 3vw, 44px); flex: 1; min-width: 0; }
.bank-meta { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

.meta-label, .bank-meta dt { font-size: var(--fs-xs); letter-spacing: var(--eyebrow-tracking); text-transform: uppercase; color: var(--color-text-muted); font-weight: 700; }
.bank-meta dd { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-heading); font-weight: 600; color: var(--color-heading); min-width: 0; }
.bank-meta dd span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.bank-card__body { padding: 18px var(--card-pad) var(--card-pad); }
.bank-acct { display: grid; grid-template-columns: 90px 150px minmax(0, 1fr) auto; align-items: center; gap: clamp(12px, 2vw, 24px); }
.bank-acct--labels { padding: 0 18px 10px; }
.bank-acct--labels span { font-size: var(--fs-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-muted); font-weight: 700; }
.bank-card__body .bank-acct:not(.bank-acct--labels) { border: 1px solid var(--color-border); border-left: 3px solid var(--color-primary); border-radius: var(--radius); padding: 14px 18px; margin-bottom: 12px; transition: border-color var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease); }
.bank-card__body .bank-acct:not(.bank-acct--labels):hover { box-shadow: var(--shadow-soft); }
.bank-card__body .bank-acct:not(.bank-acct--labels):last-child { margin-bottom: 0; }
.bank-acct__type { font-family: var(--font-heading); font-weight: 700; color: var(--color-heading); }
.bank-acct__no { color: var(--color-text); }
.bank-acct__iban { font-family: var(--font-heading); font-weight: 600; letter-spacing: .04em; color: var(--color-heading); word-break: break-word; }

.copy-btn { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: var(--radius-sm); background: transparent; color: var(--color-text-muted); flex-shrink: 0; transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.copy-btn:hover { background: var(--color-tag-bg); color: var(--color-primary-dark); }
.copy-btn.is-ok { background: var(--color-primary); color: var(--color-primary-text); }

.bank__compact { display: flex; flex-direction: column; gap: 12px; max-width: 920px; margin: 0 auto; }

.bank__compact--grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: var(--gap-sm); max-width: none; }

.bank__compact--grid .bank-crow__iban { font-size: var(--fs-sm); letter-spacing: .03em; white-space: nowrap; }
.bank__compact--grid .bank-crow { grid-template-columns: 1fr auto; row-gap: 12px; padding: 18px 22px; }
.bank__compact--grid .bank-crow__id { grid-column: 1; grid-row: 1; }
.bank__compact--grid .bank-crow__type { grid-column: 2; grid-row: 1; justify-self: end; }
.bank__compact--grid .bank-crow__iban { grid-column: 1; grid-row: 2; align-self: center; }
.bank__compact--grid .bank-crow .copy-btn { grid-column: 2; grid-row: 2; justify-self: end; }
.bank-crow { display: grid; grid-template-columns: 1.2fr 1.7fr auto auto; gap: clamp(14px, 2vw, 26px); align-items: center; background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius-lg); padding: 16px 22px; transition: box-shadow var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.bank-crow:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.bank-crow__id { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.bank-crow__id .muted { font-size: var(--fs-sm); }
.bank-crow__iban { font-family: var(--font-heading); font-weight: 600; letter-spacing: .04em; color: var(--color-heading); }
.bank-crow__type { background: var(--color-tag-bg); color: var(--color-primary-dark); font-size: var(--fs-sm); font-weight: 700; padding: 3px 10px; border-radius: var(--radius-pill); justify-self: start; }

@media (max-width: 640px) {
  .bank-crow { grid-template-columns: 1fr auto; row-gap: 10px; }
  .bank-crow__id { grid-column: 1; grid-row: 1; }
  .bank-crow__type { grid-column: 2; grid-row: 1; justify-self: end; }
  .bank-crow__iban { grid-column: 1; grid-row: 2; align-self: center; }
  .bank-crow .copy-btn { grid-column: 2; grid-row: 2; justify-self: end; }
}
@media (max-width: 760px) {

  .bank-card__hd { flex-direction: column; align-items: stretch; gap: 16px; }
  .bank-card__brand { border-right: 0; border-bottom: 1px solid var(--color-border); padding-right: 0; padding-bottom: 16px; }
  .bank-card__meta { flex-direction: column; flex-wrap: wrap; align-items: stretch; gap: 14px; }
  .bank-meta dd span { white-space: normal; overflow: visible; }
}
@media (max-width: 620px) {
  .bank-acct--labels { display: none; }
  .bank-acct { grid-template-columns: 1fr auto; row-gap: 8px; }
  .bank-acct__type { grid-column: 1; grid-row: 1; }
  .copy-btn { grid-column: 2; grid-row: 1; }
  .bank-acct__no { grid-column: 1; grid-row: 2; color: var(--color-text-muted); font-size: var(--fs-sm); }
  .bank-acct__iban { grid-column: 1 / -1; grid-row: 3; }
}

.faq__wrap { max-width: 860px; }
.faq__list { display: flex; flex-direction: column; gap: 12px; }
.faq__item { background: var(--color-surface); border-radius: var(--radius); box-shadow: var(--shadow-soft); overflow: hidden; transition: box-shadow var(--motion-dur) var(--motion-ease); }
.faq__item.is-open { box-shadow: var(--shadow-card); }
.faq__q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: var(--card-pad); text-align: left; font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-body); color: var(--color-heading); }
.faq__icon { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: var(--color-bg-alt); color: var(--color-primary); display: grid; place-items: center; font-size: var(--fs-h4); transition: transform var(--motion-dur) var(--motion-ease); }
.faq__item.is-open .faq__icon { transform: rotate(45deg); background: var(--color-primary); color: #fff; }

.faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--motion-dur) var(--motion-ease); color: var(--color-text); }
.faq__item.is-open .faq__a { grid-template-rows: 1fr; }
.faq__a-inner { overflow: hidden; min-height: 0; }
.faq__a-pad { padding: 0 var(--card-pad) var(--card-pad); }

.faq--v2 .faq__split, .faq--v5 .faq__split { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.faq__aside { position: sticky; top: var(--sticky-top); }
.faq__aside .section-title { margin-bottom: 14px; }

.faq__help { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--color-border); }
.faq--v2 .faq__help { border-top-color: rgba(255,255,255,.2); }
.faq__help-t { font-weight: 600; color: var(--color-heading); margin-bottom: 14px; }
@media (max-width: 820px) { .faq--v2 .faq__split, .faq--v5 .faq__split { grid-template-columns: 1fr; } .faq__aside { position: static; } }

.faq--v5 .faq__q { font-size: var(--fs-md); }
.faq--v5 .faq__item { transition: box-shadow var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.faq--v5 .faq__item:hover { box-shadow: var(--shadow-card); }
.faq--v5 .faq__item.is-open { transform: none; }

.faq--v3 .faq__wrap { max-width: 920px; }
.faq--v3 .faq__list { gap: 0; border-top: 1px solid var(--color-border); }
.faq--v3 .faq__item { background: none; border-radius: 0; box-shadow: none; border-bottom: 1px solid var(--color-border); }
.faq--v3 .faq__item.is-open { box-shadow: none; }
.faq--v3 .faq__q { padding-inline: 4px; font-size: var(--fs-h4); }
.faq--v3 .faq__a-pad { padding-inline: 4px; }
.faq--v3 .faq__icon { background: none; color: var(--color-text-muted); }
.faq--v3 .faq__item.is-open .faq__q { color: var(--color-primary); }
.faq--v3 .faq__item.is-open .faq__icon { background: none; color: var(--color-primary); }

.faq--v4 .section-head { margin-bottom: 28px; }
.faq__tabbed { display: grid; grid-template-columns: 2fr 1fr; gap: var(--gap-md); align-items: start; }
.faq__nav { position: sticky; top: var(--sticky-top); }
.faq__nav-lbl { display: block; font-size: var(--fs-xs); letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-muted); font-weight: 700; margin-bottom: 12px; }
.faq__navlist { display: flex; flex-direction: column; gap: 8px; }
.faq__navitem { display: flex; align-items: center; gap: 11px; text-align: left; padding: 13px 15px; border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); color: var(--color-heading); font-family: var(--font-heading); font-weight: 600; transition: border-color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease); }
.faq__navitem:hover { border-color: var(--color-primary); }
.faq__navitem.is-on { border-color: var(--color-primary); background: var(--color-tag-bg); }
.faq__navico { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex-shrink: 0; border-radius: var(--radius-sm); background: var(--color-tag-bg); color: var(--color-primary); }
.faq__navico .icon { font-size: var(--icon-md); }
.faq__navitem.is-on .faq__navico { background: var(--color-primary); color: var(--color-primary-text); }
.faq__navtext { flex: 1; line-height: 1.25; }
.faq__navcount { flex-shrink: 0; min-width: 24px; text-align: center; font-size: var(--fs-sm); font-weight: 700; color: var(--color-text-muted); }
.faq__navitem.is-on .faq__navcount { color: var(--color-primary); }
@media (max-width: 820px) {
  .faq__tabbed { grid-template-columns: 1fr; }
  .faq__nav { position: static; order: -1; }
  .faq__navlist { flex-direction: row; flex-wrap: wrap; }
  .faq__navitem { flex: 1 1 auto; }
}

.site-footer { background: var(--color-dark); color: #fff; position: relative; }

.site-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-primary) 85%, transparent), transparent); }

.footer__grid { display: grid; grid-template-columns: 1.7fr; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 40px; padding-block: 64px 44px; }
.footer__brand { max-width: 40ch; }

.brand--footer .brand__logo { height: var(--brand-logo-footer-h, 48px); }
.brand--footer .brand__name, .brand--footer .brand__mark { color: #fff; }
.brand--footer .brand__mark { background: rgba(255,255,255,.15); }
.footer__desc { margin: 18px 0; color: rgba(255,255,255,.72); font-size: var(--fs-body); line-height: var(--body-leading, 1.7); }
.footer__social { display: flex; gap: 10px; }

.social { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius-sm); background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.14); color: #fff; transition: background var(--motion-dur) var(--motion-ease), border-color var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.social:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-text); transform: translateY(-2px); }

.footer__title { color: #fff; font-family: var(--font-heading); font-size: var(--fs-h4); font-weight: 800; margin-bottom: 18px; }

.footer__reg { display: block; margin-top: 4px; color: rgba(255,255,255,.45); }
.footer__col ul { display: flex; flex-direction: column; gap: 11px; }
.footer__col a { color: rgba(255,255,255,.72); font-size: var(--fs-body); transition: color var(--motion-dur) var(--motion-ease); }
.footer__col a:hover { color: #fff; }
.footer__contact-list { display: flex; flex-direction: column; gap: 13px; margin: 22px 0 24px; }
.footer__contact-list li { display: flex; align-items: flex-start; gap: 10px; color: rgba(255,255,255,.72); font-size: var(--fs-body); }
.footer__contact-list a { display: flex; align-items: flex-start; gap: 10px; color: rgba(255,255,255,.72); transition: color var(--motion-dur) var(--motion-ease); }
.footer__contact-list a:hover { color: #fff; }
.footer__ci { color: var(--color-primary); flex: none; margin-top: 2px; }
.footer__ci .icon { font-size: var(--icon-md); }
.footer__bottom { border-top: 1px solid rgba(255,255,255,.12); }
.footer__bottom-in { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 22px; font-size: var(--fs-sm); color: rgba(255,255,255,.6); flex-wrap: wrap; }
.footer__legal { display: flex; gap: 20px; flex-wrap: wrap; }
.footer__legal a { color: rgba(255,255,255,.6); transition: color var(--motion-dur) var(--motion-ease); }
.footer__legal a:hover { color: #fff; }

.footer__grid--v4 { grid-auto-flow: row; grid-template-columns: 1.7fr 1fr 1fr 1.3fr; align-items: start; }

.footer__trust { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; padding: 8px 15px; border-radius: var(--radius-pill); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.92); font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-sm); }
.footer__trust .icon { color: var(--color-primary); font-size: var(--icon-md); }

.footer__contact-col .footer__contact-list { margin: 0 0 20px; }
.footer__volunteer { margin-top: 4px; }
.footer__grid--v4 .footer__brand { max-width: 34ch; }
@media (max-width: 980px) {
  .footer__grid--v4 { grid-template-columns: 1fr 1fr 1.2fr; }
  .footer__grid--v4 .footer__brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 620px) { .footer__grid--v4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 400px) { .footer__grid--v4 { grid-template-columns: 1fr; } }

@media (max-width: 920px) { .footer__grid { grid-auto-flow: row; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } .footer__brand { grid-column: 1 / -1; max-width: none; } }
@media (max-width: 560px) { .footer__grid { grid-template-columns: 1fr 1fr; gap: 30px 24px; } }
@media (max-width: 380px) { .footer__grid { grid-template-columns: 1fr; } }

.footer--v2 .footer__lead { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; padding-block: clamp(48px, 6vw, 72px) clamp(32px, 4vw, 44px); border-bottom: 1px solid rgba(255,255,255,.12); }
.footer--v2 .footer__mission { max-width: 62ch; color: rgba(255,255,255,.72); font-size: var(--fs-body); line-height: var(--body-leading, 1.7); }
.footer--v2 .footer__lead .footer__social { justify-content: center; }
.footer--v2 .footer__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 56px); padding-block: clamp(36px, 4vw, 48px); }
.footer--v2 .footer__col { text-align: center; }
.footer--v2 .footer__col ul { align-items: center; }
@media (max-width: 680px) { .footer--v2 .footer__cols { grid-template-columns: 1fr; gap: 30px; } }

.footer--v3 { padding-top: clamp(40px, 5vw, 64px); }
.footer--v3 .footer__cta { display: flex; align-items: center; justify-content: space-between; gap: clamp(20px, 3vw, 36px); flex-wrap: wrap; padding: clamp(26px, 3.5vw, 44px); border-radius: var(--radius-lg); background: linear-gradient(120deg, var(--color-primary), var(--color-primary-dark)); box-shadow: var(--shadow-card); }
.footer--v3 .footer__cta-text h3 { color: var(--color-primary-text); font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h2); line-height: var(--heading-leading, 1.15); }
.footer--v3 .footer__cta-text p { color: color-mix(in oklab, var(--color-primary-text) 88%, transparent); margin-top: 8px; font-size: var(--fs-body); }
.footer--v3 .footer__cta .btn { flex: 0 0 auto; }
.footer--v3 .footer__grid { padding-block: clamp(40px, 5vw, 52px) 40px; }
@media (max-width: 620px) {
  .footer--v3 .footer__cta { flex-direction: column; align-items: flex-start; text-align: left; }
  .footer--v3 .footer__cta .btn { width: 100%; }
}

.fab { position: fixed; right: 22px; bottom: 22px; z-index: 60; width: 54px; height: 54px; border-radius: 50%; background: var(--color-primary); color: var(--color-primary-text); font-size: var(--fs-h4); box-shadow: var(--shadow-hover); display: grid; place-items: center; }
.fab:hover { background: var(--color-primary-dark); }

@media (max-width: 1120px) { .fab { display: none; } }

.fab__badge { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: var(--radius-pill); background: var(--color-dark); color: #fff;
  font-family: var(--font-heading); font-size: var(--fs-xs); font-weight: 700; line-height: 1;
  display: grid; place-items: center; box-shadow: 0 0 0 2px var(--color-primary); }

.wa-fab { position: fixed; left: 22px; bottom: 22px; z-index: 60; width: 54px; height: 54px; border-radius: 50%; background: #25D366; color: #fff; box-shadow: var(--shadow-hover); display: grid; place-items: center; transition: background var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.wa-fab:hover { background: #1ebe57; transform: translateY(-2px); }
.wa-fab .sicon { font-size: var(--icon-lg); }
.cart { position: fixed; inset: 0; z-index: 110; background: color-mix(in srgb, var(--color-overlay) 40%, transparent); }
.cart__panel { position: absolute; top: 0; right: 0; height: 100%; width: min(92vw, 400px); background: var(--color-surface); display: flex; flex-direction: column; box-shadow: -20px 0 50px rgba(0,0,0,.18); }
.t-slide { transition: transform var(--motion-dur) var(--motion-ease); }
.t-slide--start { transform: translateX(100%); }
.cart__head { display: flex; justify-content: space-between; align-items: center; padding: 22px 24px; border-bottom: 1px solid var(--color-border); }
.cart__head h3 { font-size: var(--fs-h4); }
.cart__head button { font-size: var(--fs-h4); }
.cart__body { flex: 1; overflow-y: auto; padding: 16px 24px; display: flex; flex-direction: column; gap: 14px; }
.cart__empty { text-align: center; color: var(--color-text-muted); margin-top: 40px; }
.cart__empty a { color: var(--color-primary); font-weight: 600; }
.cart__item { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--color-border); }
.cart__item > div:first-child { flex: 1; display: flex; flex-direction: column; }
.cart__item strong { font-size: var(--fs-body); color: var(--color-heading); }
.cart__item .muted { font-size: var(--fs-sm); }

.qty { display: inline-flex; align-items: center; gap: 10px; background: var(--color-bg-alt); border-radius: var(--radius-pill); padding: 4px; }
.qty button { width: 28px; height: 28px; border-radius: 50%; background: var(--color-surface); font-size: var(--fs-body); color: var(--color-heading); }

.qty__num { width: 4ch; min-width: 3ch; field-sizing: content;
  padding: 0; border: 0; background: none; color: inherit;
  font-family: inherit; text-align: center; font-weight: 900; font-size: var(--fs-sm);
  -moz-appearance: textfield; appearance: textfield; }
.qty__num::-webkit-outer-spin-button,
.qty__num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.qty__num:focus-visible { outline: none; border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  box-shadow: inset 0 0 0 1px var(--color-primary); }

[data-stepper="v2"] .qty {
  gap: 0; padding: 0; background: transparent;
  border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--btn-radius, var(--radius-sm));
  overflow: hidden;
}
[data-stepper="v2"] .qty button {

  width: var(--qty-h, 34px); height: var(--qty-h, 34px); border-radius: 0; background: transparent;
  color: var(--color-heading); transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease);
}
[data-stepper="v2"] .qty button:first-child { border-inline-end: 1px solid var(--color-border); }
[data-stepper="v2"] .qty button:last-child { border-inline-start: 1px solid var(--color-border); }
[data-stepper="v2"] .qty button:hover { background: var(--color-primary); color: var(--color-primary-text); }
[data-stepper="v2"] .qty__num { width: 4ch; min-width: 38px; field-sizing: content; font-weight: 700; font-size: var(--fs-md); color: var(--color-heading); }

[data-stepper="v2"] .daside--v2 .qty { background: transparent; border-color: rgba(255,255,255,.24); }
[data-stepper="v2"] .daside--v2 .qty button { background: transparent; }
[data-stepper="v2"] .daside--v2 .qty button:first-child { border-inline-end-color: rgba(255,255,255,.24); }
[data-stepper="v2"] .daside--v2 .qty button:last-child { border-inline-start-color: rgba(255,255,255,.24); }
.cart__del { font-size: var(--fs-body); opacity: .6; }
.cart__del:hover { opacity: 1; }
.cart__foot { padding: 20px 24px; border-top: 1px solid var(--color-border); }
.cart__total { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; font-family: var(--font-heading); }
.cart__total strong { font-size: var(--fs-h4); color: var(--color-primary); }

@media (max-width: 1120px) {
  .mainnav, .cta-donate, .donate-nav, .navbar__actions .lang { display: none; }
  .hamburger { display: inline-flex; }
  .cta-donate-m { display: inline-flex; }

  .navbar__actions .btn--sq:not(.hamburger) { display: none; }
  .navbar__tools { display: none; }

  .fab { width: 46px; height: 46px; left: 16px; right: auto; bottom: calc(var(--mobilenav-h) + 20px + env(safe-area-inset-bottom)); font-size: var(--fs-body); }

  .wa-fab { width: 46px; height: 46px; left: auto; right: 16px; bottom: calc(var(--mobilenav-h) + 20px + env(safe-area-inset-bottom)); }

  body { padding-bottom: calc(var(--mobilenav-h) + env(safe-area-inset-bottom)); }
}

.mobilenav { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; align-items: stretch; gap: 0; background: var(--color-surface); border-top: 1px solid var(--color-border); box-shadow: 0 -8px 28px color-mix(in srgb, var(--color-overlay) 14%, transparent); padding: 7px 2px calc(7px + env(safe-area-inset-bottom)); }

.mobilenav__item { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 2px 0; color: var(--color-text-muted); font-family: var(--font-heading); font-weight: 600; }

.mobilenav__ico { position: relative; display: grid; place-items: center; width: 46px; height: 26px; color: var(--color-primary); transition: color var(--motion-dur) var(--motion-ease); }
.mobilenav__ico .icon { font-size: var(--icon-lg); }
.mobilenav__lbl { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--fs-sm); letter-spacing: .01em; transition: color var(--motion-dur) var(--motion-ease); }

.mobilenav__item:hover .mobilenav__lbl { color: var(--color-primary); }

.mobilenav__badge { position: absolute; top: -6px; right: 2px; min-width: 17px; height: 17px; padding: 0 5px;
  border-radius: var(--radius-pill); background: var(--color-primary); color: var(--color-primary-text);
  font-family: var(--font-heading); font-size: var(--fs-xs); font-weight: 700; line-height: 1;
  display: grid; place-items: center; box-shadow: 0 0 0 2px var(--color-surface); }

@media (max-width: 1120px) { .mobilenav { display: flex; } }

.search { position: fixed; inset: 0; z-index: 150; display: flex; justify-content: center; align-items: flex-start; padding: clamp(16px, 9vh, 120px) 16px 24px; background: color-mix(in srgb, var(--color-overlay) 55%, transparent); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.search__box { width: min(620px, 100%); background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-hover); }
.search__field { display: flex; align-items: center; gap: 12px; margin: 16px; padding: 4px 6px 4px 16px; border: 1.5px solid var(--color-border); border-radius: var(--radius); transition: border-color var(--motion-dur) var(--motion-ease); }
.search__field:focus-within { border-color: var(--color-primary); }
.search__ico { display: grid; place-items: center; color: var(--color-text-muted); }
.search__ico .icon { font-size: var(--icon-md); }
.search__input { flex: 1 1 auto; min-width: 0; border: none; background: none; font: inherit; font-size: var(--fs-h4); color: var(--color-heading); padding: 12px 0; outline: none; }
.search__input::-webkit-search-cancel-button { display: none; }
.search__close { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius-sm); color: var(--color-text-muted); }
.search__close:hover { background: var(--color-bg-alt); color: var(--color-heading); }
.search__pop { padding: 4px 20px 22px; }
.search__pop-title { display: block; font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .1em; font-size: var(--fs-xs); font-weight: 700; color: var(--color-text-muted); margin-bottom: 12px; }
.search__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.search__chip { display: inline-flex; align-items: center; gap: 8px; }
.search__chip .icon { font-size: var(--icon-sm); color: var(--color-primary); }

.field-badge { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-xs); padding: 5px 11px; border-radius: var(--radius-pill); background: var(--color-accent); color: #3a2b0a; box-shadow: var(--shadow-soft); }
.field-badge .icon { font-size: var(--icon-sm); }
.ccard__media { position: relative; }
.ccard__media .field-badge { position: absolute; top: 10px; left: 10px; z-index: 1; }
.ccard--overlay .field-badge { position: absolute; top: 14px; left: 14px; z-index: 2; }

.icon, .sicon { font-size: var(--icon-lg); line-height: 1; display: inline-flex; vertical-align: middle; flex: none; }

.caret, .topbar__ico, .link-more .icon, .db__stepper .icon, .db__fine-ico,
.ccard__meta-ico, .ncard__date-ico, .copy-btn .icon, .qty .icon,
.cart__del .icon, .menu-ico--sm .icon, .drawer__caret { font-size: var(--icon-sm); }
.caret { opacity: .55; }
.ncard__date-ico { color: var(--color-text-muted); }
.db__fine-ico, .ccard__meta-ico { color: var(--color-primary); }

.btn .icon, .faq__icon .icon, .social .sicon,
.bank-card__bank-ico, .menu-ico .icon, .quick__trust-ico { font-size: var(--icon-md); }
.bank-card__bank-ico { color: var(--color-primary); }

.icon-btn .icon, .brand__mark .icon, .hamburger .icon, .carousel__arrows .icon,
.fcard__icon .icon, .drawer__close .icon, .fab .icon { font-size: var(--icon-lg); }
.brand__mark .icon { color: #fff; }
.fcard__icon .icon { color: var(--color-primary); }

.stat__icon .icon, .db__icon .icon { font-size: var(--icon-xl); color: var(--color-primary); }

.drawer__panel { padding-top: 66px; }
.drawer__close { position: absolute; top: 18px; right: 18px; align-self: auto; color: var(--color-heading); }
.drawer__close .icon { font-size: var(--icon-lg); }

.hero { position: relative; --hero-dots-h: 48px; }
.hero-dots--v2 { --hero-dots-h: 88px; }
.hero-dots--v3 { --hero-dots-h: 86px; }
.hero__viewport { overflow: hidden; }
.hero__track { display: flex; }

.hero__slide { position: relative; flex: 0 0 100%; min-width: 0; height: clamp(480px, 76svh, 750px); overflow: hidden; }

.hero__title { color: #fff; font-size: var(--fs-hero); line-height: 1.08; margin: 8px 0 16px; }
.hero__desc { color: rgba(255,255,255,.92); font-size: var(--fs-h4); max-width: 46ch; margin-bottom: 20px; }

.hero__quick { margin-bottom: 18px; }
.hero__quick-lbl { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 9px;
  font-family: var(--font-heading); font-size: var(--fs-xs); font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.hero__quick-lbl .icon { font-size: var(--icon-sm); color: var(--color-primary); }
.hero__amounts { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; }

.hamt { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0;
  padding: 11px 14px; border-radius: var(--radius); border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.08); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  cursor: pointer; text-align: left;
  transition: background var(--motion-dur) var(--motion-ease), border-color var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.hamt:hover { transform: translateY(-2px); }
.hamt strong { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-md); line-height: 1.2; color: #fff; white-space: nowrap; }
.hamt small { font-size: var(--fs-xs); line-height: 1.3; color: rgba(255,255,255,.78); white-space: nowrap; }

.hamt:hover { background: color-mix(in srgb, var(--color-primary) 12%, transparent); border-color: var(--color-primary); }
.hamt:hover strong { color: var(--color-primary); }
.hamt:hover small { color: color-mix(in srgb, var(--color-primary) 78%, #fff); }

.hero--v3 .hero__quick-lbl { color: var(--color-text-muted); }
.hero--v3 .hamt { border-color: var(--color-border); background: var(--color-bg-alt); backdrop-filter: none; -webkit-backdrop-filter: none; }
.hero--v3 .hamt strong { color: var(--color-heading); }
.hero--v3 .hamt small { color: var(--color-text-muted); }

.hero--v3 .hamt:hover { background: color-mix(in srgb, var(--color-primary) 8%, transparent); border-color: var(--color-primary); }
.hero--v3 .hamt:hover strong { color: var(--color-primary-dark); }
.hero--v3 .hamt:hover small { color: var(--color-primary-dark); }

@media (max-width: 560px) {

  .hero__quick { margin-bottom: 16px; }
  .hero__amounts { gap: 6px; }
  .hamt { padding: 8px 10px; }
  .hamt strong { font-size: var(--fs-sm); }
  .hamt small { white-space: normal; }

  .hero__content--over .eyebrow { display: none; }
  .hero__title { margin: 0 0 10px; }
  .hero__desc { font-size: var(--fs-md); margin-bottom: 16px; }

}

.hero__content { min-width: 0; }
.hero__cta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; min-width: 0; }

.hero__quick + .hero__cta .btn--primary { flex: 1 1 auto; justify-content: center; }

.hero__link { padding-inline: 6px; color: #fff; }
.hero__link:hover { color: var(--color-primary); }
.btn--light { background: #fff; color: var(--color-heading); }
.btn--light:hover { background: var(--color-bg-alt); }
.eyebrow--light { color: #fff; }
.eyebrow--light::before { background: #fff; }

.hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__scrim { position: absolute; inset: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--color-overlay) 82%, transparent) 0%, color-mix(in srgb, var(--color-overlay) 50%, transparent) 46%, color-mix(in srgb, var(--color-overlay) 14%, transparent) 100%); }
.hero__over { position: relative; height: 100%; display: flex; align-items: center; padding-bottom: var(--hero-dots-h); }
.hero__content--over { max-width: 640px; }

.hero__slide.is-active .hero__content > * { animation: hero-content-in .55s var(--motion-ease) both; }
.hero__slide.is-active .hero__content > :nth-child(1) { animation-delay: .06s; }
.hero__slide.is-active .hero__content > :nth-child(2) { animation-delay: .15s; }
.hero__slide.is-active .hero__content > :nth-child(3) { animation-delay: .24s; }
.hero__slide.is-active .hero__content > :nth-child(4) { animation-delay: .33s; }
.hero__slide.is-active .hero__content > :nth-child(5) { animation-delay: .42s; }
@keyframes hero-content-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .hero__slide.is-active .hero__content > * { animation: none; } }

.hero__slide--split { background: var(--color-primary-dark); }
.hero__split { height: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-lg); align-items: center; padding-bottom: var(--hero-dots-h); }
.hero__slide--split .hero__media img { width: 100%; height: clamp(300px, 50vh, 430px); object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }

.hero__slide--banner .hero__bg { object-position: center; }

.hero__side { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.85); color: var(--color-heading); display: grid; place-items: center; box-shadow: var(--shadow-soft); }
.hero__side:hover { background: #fff; }
.hero__side--prev { left: 18px; }
.hero__side--next { right: 18px; }
.hero__dots { position: absolute; bottom: 22px; left: 0; right: 0; z-index: 3; display: flex; justify-content: center; gap: 9px; }
.hero__dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.5); transition: var(--motion-dur) var(--motion-ease); }
.hero__dot.is-active { background: #fff; width: 26px; border-radius: 99px; }

@media (max-width: 860px) {

  .hero__slide { height: auto; min-height: clamp(380px, calc(100svh - 205px), 560px); }
  .hero__split { grid-template-columns: 1fr; padding-top: 48px; padding-bottom: calc(var(--hero-dots-h) + 8px); }
  .hero__slide--split .hero__media { display: none; }
  .hero__scrim { background: linear-gradient(180deg, color-mix(in srgb, var(--color-overlay) 35%, transparent) 0%, color-mix(in srgb, var(--color-overlay) 82%, transparent) 100%); }

  .hero__over { padding-top: 40px; padding-bottom: calc(var(--hero-dots-h) - 8px); align-items: flex-end; }

  .hero__side { display: none; }
  .hero__dots { bottom: 16px; }
  .hero { --hero-dots-h: 42px; }
  .hero-dots--v2 { --hero-dots-h: 68px; }
  .hero-dots--v3 { --hero-dots-h: 62px; }
}

.hero--v2 .hero__over { justify-content: center; text-align: center; }
.hero--v2 .hero__content--over { max-width: 780px; margin-inline: auto; }
.hero--v2 .hero__content--over .eyebrow { justify-content: center; }
.hero--v2 .hero__desc { margin-inline: auto; }
.hero--v2 .hero__cta { justify-content: center; }
.hero--v2 .hero__scrim { background: linear-gradient(180deg, color-mix(in srgb, var(--color-overlay) 22%, transparent) 0%, color-mix(in srgb, var(--color-overlay) 42%, transparent) 52%, color-mix(in srgb, var(--color-overlay) 78%, transparent) 100%); }

.hero--v3 .hero__over { align-items: center; padding-bottom: var(--hero-dots-h); }

.hero--v3 .hero__content--over {

  --hero-panel-pad: clamp(26px, 3.2vw, 44px);
  max-width: 560px; padding: var(--hero-panel-pad);
  border-radius: var(--radius-lg);
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--color-surface) 70%, transparent),
    color-mix(in srgb, var(--color-surface) 50%, transparent));
  backdrop-filter: blur(16px) saturate(1.25); -webkit-backdrop-filter: blur(16px) saturate(1.25);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: var(--shadow-hover), inset 0 1px 0 rgba(255,255,255,.7);
}
.hero--v3 .hero__title { color: var(--color-heading); }
.hero--v3 .hero__desc { color: var(--color-text); }
.hero--v3 .hero__content--over .eyebrow--light { color: var(--color-primary); }
.hero--v3 .hero__content--over .eyebrow--light::before { background: var(--color-primary); }

.hero--v3 .hero__link { color: var(--color-heading); }
.hero--v3 .hero__link:hover { color: var(--color-primary); }
.hero--v3 .hero__scrim { background: linear-gradient(90deg, color-mix(in srgb, var(--color-overlay) 55%, transparent) 0%, color-mix(in srgb, var(--color-overlay) 20%, transparent) 60%, transparent 100%); }

@media (max-width: 640px) {
  .hero--v3 .hero__content--over { max-width: none; padding: 0; border: 0; border-radius: 0;
    background: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .hero--v3 .hero__scrim { background: linear-gradient(180deg,
    color-mix(in srgb, var(--color-overlay) 26%, transparent) 0%,
    color-mix(in srgb, var(--color-overlay) 60%, transparent) 46%,
    color-mix(in srgb, var(--color-overlay) 88%, transparent) 100%); }
  .hero--v3 .hero__title { color: #fff; }
  .hero--v3 .hero__desc { color: rgba(255,255,255,.92); }
  .hero--v3 .hero__link { color: #fff; }
  .hero--v3 .hero__content--over .eyebrow--light { color: #fff; }
  .hero--v3 .hero__content--over .eyebrow--light::before { background: #fff; }
  .hero--v3 .hero__quick-lbl { color: rgba(255,255,255,.75); }
  .hero--v3 .hamt { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.10);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
  .hero--v3 .hamt strong { color: #fff; }
  .hero--v3 .hamt small { color: rgba(255,255,255,.78); }
}

.hero__thumbs { position: absolute; bottom: 20px; left: 0; right: 0; z-index: 3; display: flex; justify-content: center; gap: 10px; padding-inline: 16px; }

.hero__thumb { position: relative; display: block; padding: 0; width: 76px; height: 48px; border: 0;
  border-radius: var(--radius-sm); opacity: .6; box-shadow: var(--shadow-soft);
  transition: opacity var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.hero__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

.hero__thumb::after { content: ""; position: absolute; inset: 0; border-radius: inherit;
  border: 1px solid rgba(255,255,255,.45); pointer-events: none; }
.hero__thumb:hover { opacity: .9; transform: translateY(-2px); }
.hero__thumb.is-active { opacity: 1; }

.hero__thumb-prog { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 2;
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--color-primary) 65%, transparent)); }

.hero__thumb-prog rect { fill: none; stroke: var(--color-primary); stroke-width: 3px; stroke-linecap: round;
  rx: var(--radius-sm); ry: var(--radius-sm); }
@media (max-width: 560px) { .hero__thumb { width: 58px; height: 38px; } }

.hero__tabs { position: absolute; bottom: 18px; left: 0; right: 0; z-index: 3; display: flex; flex-wrap: nowrap; justify-content: safe center; gap: 10px; padding-inline: 16px; padding-block: 4px; overflow-x: auto; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; }
.hero__tabs::-webkit-scrollbar { display: none; }
.hero__tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border: 1px solid rgba(255,255,255,.25); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-overlay) 22%, transparent); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); color: rgba(255,255,255,.9); white-space: nowrap; transition: color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease), border-color var(--motion-dur) var(--motion-ease), transform var(--motion-dur) var(--motion-ease); }
.hero__tab:not(.is-active):hover { border-color: rgba(255,255,255,.5); color: #fff; transform: translateY(-2px); }

.hero__tab.is-active { color: var(--color-primary); border-color: rgba(255, 255, 255, .35); animation: hero-tab-pop var(--motion-dur) var(--motion-ease); }
@keyframes hero-tab-pop { from { transform: scale(.9); } to { transform: scale(1); } }
.hero__tab-ico { display: grid; place-items: center; }
.hero__tab-ico .icon { font-size: var(--icon-md); }
.hero__tab-txt { font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-md); }

.hero__tab { position: relative; }
.hero__tab-prog { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 2;
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--color-primary) 45%, transparent)); }
.hero__tab-prog rect { fill: none; stroke: var(--color-primary); stroke-width: 2px; }

@media (max-width: 560px) {
  .hero__tabs { bottom: 12px; gap: 7px; padding-inline: 12px; }
  .hero__tab { gap: 6px; padding: 6px 12px; }
  .hero__tab-ico .icon { font-size: var(--icon-sm); }
  .hero__tab-txt { font-size: var(--fs-sm); }
}

.donation-builder { position: relative; overflow: hidden; }
.donation-builder::before {
  content: ""; position: absolute; top: -120px; left: 50%; transform: translateX(-50%);
  width: 680px; height: 680px; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--color-primary) 12%, transparent) 0%, transparent 68%);
  z-index: 0; pointer-events: none;
}
.donation-builder .container { position: relative; z-index: 1; }

.cta-band, .impact--v1, .video-sec, .section--dark { position: relative; overflow: hidden; }
.cta-band > .container, .impact--v1 > .container, .video-sec > .container, .section--dark > .container { position: relative; z-index: 1; }
.cta-band::before, .impact--v1::before, .video-sec::before, .section--dark::before {
  content: ""; position: absolute; top: -8%; left: 50%; transform: translateX(-50%);
  width: min(900px, 122%); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--color-primary) 20%, transparent) 0%, transparent 62%);
  pointer-events: none; z-index: 0;
}

.piggy:not(.section--dark), .transparency { position: relative; overflow-x: clip; }
.piggy:not(.section--dark) > .container, .transparency > .container { position: relative; z-index: 1; }
.piggy:not(.section--dark)::before, .transparency::before {
  content: ""; position: absolute; top: -80px; left: 50%; transform: translateX(-50%);
  width: min(760px, 108%); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--color-primary) 9%, transparent) 0%, transparent 66%);
  pointer-events: none; z-index: 0;
}

.impact--v1 { background: var(--color-dark); color: #fff; }
.impact--v1 .section-title, .impact--v1 .eyebrow { color: #fff; }
.impact--v1 .eyebrow::before { background: #fff; }
.impact--v1 .stat { background: rgba(255,255,255,.08); box-shadow: none; }
.impact--v1 .stat__icon .icon { color: #fff; }
.impact--v1 .stat__value { color: #fff; }
.impact--v1 .stat__label { color: rgba(255,255,255,.8); }

.pcard__media, .ccard__media, .ncard__media { overflow: hidden; }
.pcard__media img, .ccard__media img, .ncard__media img { transition: transform calc(var(--motion-dur) * 2.4) var(--motion-ease); }
.pcard:hover .pcard__media img, .ccard:hover .ccard__media img, .ncard:hover .ncard__media img { transform: scale(1.06); }

.fcard__icon { transition: transform var(--motion-dur) var(--motion-ease); }
.fcard:hover .fcard__icon { transform: translateY(-4px); }

.db__pic { height: 46px; width: auto; transition: scale var(--motion-dur) var(--motion-ease); }
.db__item.is-on .db__pic { scale: 1.08; }
.db__stepper button:disabled { opacity: .38; cursor: not-allowed; }
.btn.is-off { opacity: .45; pointer-events: none; }

.db__stage { position: relative; aspect-ratio: 7 / 10; width: 100%; max-width: 340px; margin-inline: auto; animation: db-breathe 5.2s ease-in-out infinite; }
.db__base { position: absolute; inset-block: 0; left: 50%; translate: -50% 0; height: 100%; width: auto; object-fit: contain; }
.db__base--a { opacity: 0; transition: opacity .45s ease; }
.db__base--a.is-on { opacity: 1; }
.db__lyr { position: absolute; left: var(--x); top: var(--y); width: var(--w); height: auto; opacity: 0; translate: -50% -50%; scale: .55; transition: opacity .38s ease, scale .38s ease; z-index: 3; }
.db__lyr.is-on { opacity: 1; scale: 1; }
.db__lyr--food { --x: 24.4%; --y: 59%; --w: 20%; }
.db__lyr--book { --x: 75.5%; --y: 60%; --w: 16%; }
@keyframes db-breathe { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

.chip {
  padding: 10px 18px; border-radius: var(--radius-pill);
  border: var(--border-width, 1.5px) solid var(--color-border); background: var(--color-surface);
  font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-sm); color: var(--color-text);
  transition: border-color var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease);
}
.chip:hover { border-color: var(--color-primary); color: var(--color-primary); }
.chip.is-active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-text); }

.quick__card { position: relative; overflow: hidden; display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 0; align-items: stretch; padding: 0;  box-shadow: var(--shadow-card); }

.quick__intro { position: relative; display: flex; flex-direction: column; padding: clamp(28px, 3.6vw, 48px); background: linear-gradient(155deg, var(--color-tag-bg), var(--color-surface) 88%); }
.quick__intro::before { content: ""; position: absolute; top: -80px; left: -70px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--color-primary) 16%, transparent), transparent 70%); pointer-events: none; }
.quick__intro > * { position: relative; z-index: 1; }
.quick__intro .section-title { font-size: var(--fs-h2); line-height: 1.14; margin-bottom: 14px; }
.quick__desc { color: var(--color-text); line-height: 1.6; margin-bottom: 24px; max-width: 42ch; }
.quick__points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.quick__point { display: flex; align-items: center; gap: 12px; font-size: var(--fs-sm); font-weight: 600; color: var(--color-heading); }
.quick__point-ico { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--radius); background: var(--color-surface); box-shadow: var(--shadow-soft); }
.quick__point-ico .icon { font-size: var(--icon-md); color: var(--color-primary); }
.quick__trust { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 24px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.quick__trust-ico { font-size: var(--icon-sm); color: var(--color-primary); }

.quick__panel { display: flex; flex-direction: column; justify-content: center; gap: 10px; background: var(--color-surface); border-left: 1px solid var(--color-border); padding: clamp(24px, 3.2vw, 38px); }
.quick__label { font-family: var(--font-heading); font-size: var(--fs-sm); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-muted); }
.quick__label + * { margin-top: 2px; }
.quick__label:not(:first-child) { margin-top: 12px; }
.quick__cats { display: flex; flex-wrap: wrap; gap: 8px; }
.quick__amounts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.quick__custom { width: 112px; border-radius: var(--radius-pill); }
.quick__custom.is-active { border-color: var(--color-primary); }

.quick .chip:hover { background: var(--color-tag-bg); }
.quick .chip.is-active { box-shadow: 0 5px 16px color-mix(in srgb, var(--color-primary) 32%, transparent); }
.quick__go { margin-top: 18px; }
.quick__go .icon { transition: transform var(--motion-dur) var(--motion-ease); }
.quick__go:hover .icon { transform: translateX(4px); }
.quick__panel-note { display: inline-flex; align-items: center; justify-content: center; gap: 7px; margin-top: 6px; font-size: var(--fs-xs); color: var(--color-text-muted); }
.quick__panel-note .icon { color: var(--color-primary); font-size: var(--icon-sm); }
@media (max-width: 780px) {
  .quick__card { grid-template-columns: 1fr; }
  .quick__panel { border-left: none; border-top: 1px solid var(--color-border); }
}

.quick__field { display: flex; flex-direction: column; gap: 10px; }

.quick--v2 .quick__band { padding: var(--block-pad); }
.quick--v2 .quick__band-head { margin-bottom: clamp(18px, 2.5vw, 26px); }
.quick--v2 .quick__band-head .section-title { font-size: var(--fs-h3); margin-bottom: 0; }
.quick--v2 .quick__band-body { display: flex; flex-wrap: wrap; align-items: flex-end; gap: clamp(18px, 3vw, 32px); }
.quick--v2 .quick__field { flex: 1 1 auto; min-width: 0; }
.quick--v2 .quick__field--action { flex: 0 0 auto; }
.quick--v2 .quick__go { margin-top: 0; width: auto; align-self: stretch; }
.quick--v2 .quick__trust { margin-top: 20px; }
@media (max-width: 780px) {
  .quick--v2 .quick__band-body { flex-direction: column; align-items: stretch; }
  .quick--v2 .quick__go { width: 100%; }
}

.quick--v3 { padding-block: clamp(48px, 6vw, 80px); }
.quick--v3 .quick__center { max-width: 720px; margin-inline: auto; display: flex; flex-direction: column; gap: clamp(16px, 2.5vw, 22px); }
.quick--v3 .section-head { margin-bottom: 6px; }
.quick--v3 .quick__field { align-items: center; }
.quick--v3 .quick__label { color: rgba(255,255,255,.72); }
.quick--v3 .quick__cats,
.quick--v3 .quick__amounts { justify-content: center; }
.quick--v3 .quick__go { margin-top: 8px; max-width: 340px; margin-inline: auto; }
.quick--v3 .quick__trust { justify-content: center; margin-top: 6px; color: rgba(255,255,255,.72); }
.quick--v3 .quick__trust-ico { color: #fff; }

.zakat__calc { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: clamp(16px, 3vw, 28px); align-items: end; padding: clamp(22px, 3vw, 30px); }
.zakat__field { display: flex; flex-direction: column; gap: 8px; }
.zakat__lbl { font-size: var(--fs-sm); font-weight: 600; color: var(--color-heading); }
.zakat__input { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-h4); }

.zakat__out { display: flex; flex-direction: column; gap: 2px; background: var(--color-bg-alt); border-radius: var(--radius); padding: 12px 20px; }
.zakat__out span { font-size: var(--fs-sm); letter-spacing: .06em; font-weight: 600; text-transform: uppercase; color: var(--color-text-muted); }
.zakat__out strong { font-family: var(--font-heading); font-size: var(--fs-h1); line-height: 1.1; color: var(--color-primary); }
.zakat__pay { align-self: end; }

.zakat__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
.zakat__fact { display: flex; align-items: center; gap: 14px; background: var(--color-surface); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 16px 18px; font-size: var(--fs-body); }
.zakat__fact-ico { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto; border-radius: var(--radius); background: var(--color-bg-alt); }
.zakat__fact-ico .icon { font-size: var(--icon-lg); color: var(--color-primary); }
.zakat__foot { display: flex; gap: 28px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }
@media (max-width: 820px) {
  .zakat__calc { grid-template-columns: 1fr; align-items: stretch; }
  .zakat__pay { width: 100%; }
  .zakat__facts { grid-template-columns: 1fr; }
}

.zakat__split { display: grid; grid-template-columns: .92fr 1.08fr; gap: var(--gap-lg); align-items: center; }
.zakat--v2 .section-head { justify-content: flex-start; text-align: left; }
.zakat--v2 .section-head .eyebrow { justify-content: flex-start; }
.zakat--v2 .zakat__facts { grid-template-columns: 1fr; gap: 12px; margin-top: 22px; }
.zakat--v2 .zakat__foot { justify-content: flex-start; gap: 20px; margin-top: 20px; }
.zakat--v2 .zakat__calc { grid-template-columns: 1fr; align-items: stretch; gap: 18px; padding: var(--block-pad); }
.zakat--v2 .zakat__out { padding: 16px 20px; }
.zakat--v2 .zakat__pay { width: 100%; align-self: auto; }
.zakat--v2 .zakat__out { padding: 16px 20px; }
.zakat--v2 .zakat__pay { width: 100%; align-self: auto; }
@media (max-width: 900px) {
  .zakat__split { grid-template-columns: 1fr; gap: 28px; }
  .zakat--v2 .zakat__facts { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
}

.tr__alloc { padding: var(--block-pad); margin-bottom: 26px; }
.tr__stack { display: flex; height: 26px; border-radius: var(--radius-pill); overflow: hidden; background: var(--color-bg-alt); }
.tr__seg { height: 100%; transition: width var(--motion-dur) var(--motion-ease); }
.tr__seg:nth-child(1) { background: var(--color-primary); }
.tr__seg:nth-child(2) { background: var(--color-primary-dark); }
.tr__seg:nth-child(3) { background: var(--color-accent); }
.tr__seg:nth-child(4) { background: color-mix(in srgb, var(--color-primary) 45%, var(--color-surface)); }
.tr__seg:nth-child(5) { background: var(--color-text-muted); }
.tr__legend { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px 28px; margin-top: 24px; }
.tr__legend li { display: flex; align-items: flex-start; gap: 10px; }
.tr__dot { width: 12px; height: 12px; border-radius: 50%; flex: none; margin-top: 6px; }
.tr__legend li:nth-child(1) .tr__dot { background: var(--color-primary); }
.tr__legend li:nth-child(2) .tr__dot { background: var(--color-primary-dark); }
.tr__legend li:nth-child(3) .tr__dot { background: var(--color-accent); }
.tr__legend li:nth-child(4) .tr__dot { background: color-mix(in srgb, var(--color-primary) 45%, var(--color-surface)); }
.tr__legend li:nth-child(5) .tr__dot { background: var(--color-text-muted); }
.tr__leg-txt { display: flex; flex-direction: column; gap: 2px; }
.tr__leg-top { font-family: var(--font-heading); color: var(--color-heading); }
.tr__pct { font-weight: 800; color: var(--color-primary); }
.tr__leg-txt .muted { font-size: var(--fs-sm); }

.tr__journey { margin-bottom: clamp(34px, 4.5vw, 58px); }
.tr__step-num { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--color-primary); color: var(--color-primary-text); font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h4); box-shadow: var(--shadow-soft); }
.tr__step-headline { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.tr__step-ico { color: var(--color-accent); line-height: 0; }
.tr__step-ico .icon { font-size: var(--icon-lg); }
.tr__step-title { font-size: var(--fs-h4); }
.tr__step-text { font-size: var(--fs-body); color: var(--color-text); }

.transparency--v1 .tr__journey { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 48px); }
.transparency--v1 .tr__step { position: relative; display: flex; flex-direction: column; gap: 14px; }
.transparency--v1 .tr__step:not(:last-child)::after { content: ""; position: absolute; top: 21px; left: 56px; width: calc(100% - 56px + clamp(24px, 4vw, 48px)); height: 2px; background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--color-primary) 45%, transparent) 0 7px, transparent 7px 13px); }
@media (max-width: 720px) {
  .transparency--v1 .tr__journey { grid-template-columns: 1fr; gap: 0; }
  .transparency--v1 .tr__step { flex-direction: row; align-items: flex-start; gap: 16px; padding-bottom: 30px; }
  .transparency--v1 .tr__step:not(:last-child)::after { top: 46px; left: 21px; width: 2px; height: calc(100% - 46px); background: repeating-linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 45%, transparent) 0 7px, transparent 7px 13px); }
  .transparency--v1 .tr__step-body { padding-top: 2px; }
}

.transparency--v2 .tr__journey { display: flex; flex-direction: column; gap: 0; max-width: 640px; margin-inline: auto; }
.transparency--v2 .tr__step { position: relative; display: flex; gap: 20px; padding-bottom: 32px; }
.transparency--v2 .tr__step:not(:last-child)::after { content: ""; position: absolute; top: 50px; left: 21px; width: 2px; height: calc(100% - 50px); background: color-mix(in srgb, var(--color-primary) 30%, transparent); }
.transparency--v2 .tr__step-body { padding-top: 4px; }

.transparency--v3 .tr__journey { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding-top: 20px; }
.transparency--v3 .tr__step { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 34px var(--card-pad) var(--card-pad); background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); transition: transform var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease); }
.transparency--v3 .tr__step:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.transparency--v3 .tr__step-num { position: absolute; top: -20px; left: 24px; }
@media (max-width: 820px) { .transparency--v3 .tr__journey { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .transparency--v3 .tr__journey { gap: 30px; } }

.transparency--v3 .container { display: grid; grid-template-columns: 1.05fr .95fr; gap: var(--gap); align-items: start; }
.transparency--v3 .section-head,
.transparency--v3 .tr__journey { grid-column: 1 / -1; }

.transparency--v3 .tr__alloc { grid-column: 1; margin-bottom: 0; align-self: stretch;
  display: flex; flex-direction: column; justify-content: center; }
.transparency--v3 .tr__cards { grid-column: 2; grid-template-columns: 1fr; gap: var(--gap-sm); }
.transparency--v3 .tr__card { height: 100%; }

.transparency--v3 .tr__stack { display: none; }
.transparency--v3 .tr__legend { grid-template-columns: 1fr; gap: 0; margin-top: 0; }
.transparency--v3 .tr__legend li { display: block; padding: 20px 0; border-top: 1px solid var(--color-border); }
.transparency--v3 .tr__legend li:first-child { padding-top: 0; border-top: 0; }
.transparency--v3 .tr__legend li:last-child { padding-bottom: 0; }
.transparency--v3 .tr__dot { display: none; }
.transparency--v3 .tr__leg-top { display: flex; align-items: baseline; gap: 10px; }
.transparency--v3 .tr__pct { font-size: var(--fs-h3); line-height: 1; }
.transparency--v3 .tr__leg-label { font-weight: 700; font-size: var(--fs-h4); }

.transparency--v3 .tr__leg-txt::after {
  content: ""; display: block; height: 8px; width: var(--pct, 0%); min-width: 8px;
  margin-top: 12px; border-radius: var(--radius-pill); background: var(--color-primary);
  transition: width var(--motion-dur) var(--motion-ease);
}
.transparency--v3 .tr__legend li:nth-child(2) .tr__leg-txt::after { background: var(--color-primary-dark); }
.transparency--v3 .tr__legend li:nth-child(3) .tr__leg-txt::after { background: var(--color-accent); }
.transparency--v3 .tr__legend li:nth-child(2) .tr__pct { color: var(--color-primary-dark); }
.transparency--v3 .tr__legend li:nth-child(3) .tr__pct { color: var(--color-accent); }
@media (max-width: 900px) {
  .transparency--v3 .container { grid-template-columns: 1fr; }
  .transparency--v3 .tr__alloc, .transparency--v3 .tr__cards { grid-column: 1; }
  .transparency--v3 .tr__cards { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
}

.tr__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tr__card { display: flex; gap: 16px; background: var(--color-bg-alt); border-radius: var(--radius-lg); padding: var(--card-pad); transition: transform var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease); }
.tr__card:hover { transform: translateY(-4px); background: var(--color-surface); box-shadow: var(--shadow-card); }
.tr__card-ico { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 auto; border-radius: var(--radius); background: var(--color-surface); }
.tr__card-ico .icon { font-size: var(--icon-lg); color: var(--color-primary); }
.tr__card h4 { font-size: var(--fs-h4); margin-bottom: 6px; }
.tr__card p { font-size: var(--fs-body); color: var(--color-text); margin-bottom: 8px; }
@media (max-width: 820px) { .tr__cards { grid-template-columns: 1fr; } }

.testi__note { display: flex; align-items: center; gap: 10px; max-width: 720px; margin: 0 auto 32px; background: var(--color-tag-bg); border-radius: var(--radius); padding: 14px 18px; font-size: var(--fs-sm); color: var(--color-primary-dark); }
.testi__note-ico { font-size: var(--icon-md); flex: 0 0 auto; }
.tcard { position: relative; padding: calc(var(--card-pad) + 6px) var(--card-pad) var(--card-pad); display: flex; flex-direction: column; align-items: flex-start; gap: 16px; height: 100%; }

.tcard__mark { line-height: 0; color: color-mix(in srgb, var(--color-accent) 65%, transparent); }
.tcard__mark .icon { font-size: 46px; }
.tcard__quote { color: var(--color-text); font-size: var(--fs-md); line-height: var(--body-leading, 1.6); }
.tcard__author { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--color-border); width: 100%; }

.tcard__avatar { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; background: var(--color-tag-bg); color: var(--color-primary-dark); font-family: var(--font-heading); font-weight: 800; box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent); }
.tcard__avatar img { width: 100%; height: 100%; object-fit: cover; }
.tcard__who { display: flex; flex-direction: column; line-height: 1.3; }
.tcard__who strong { color: var(--color-heading); font-size: var(--fs-sm); }
.tcard__who .muted { font-size: var(--fs-sm); }

.tcard__tag { margin-left: auto; align-self: flex-start; }

.video-sec { background: var(--color-dark); color: #fff; }
.video-sec .section-title, .video-sec .eyebrow { color: #fff; }
.video-sec .eyebrow::before { background: #fff; }
.video-sec .link-more { color: #fff; }
.video__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap-sm); }
.video__item { position: relative; aspect-ratio: 16 / 10; border-radius: var(--radius-lg); overflow: hidden; border: none; padding: 0; cursor: pointer; }

.video__item--lead { grid-column: 1 / -1; aspect-ratio: 21 / 8; }
.video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.video__item:hover .video__poster { transform: scale(1.05); }
.video__item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, color-mix(in srgb, var(--color-overlay) 10%, transparent) 40%, color-mix(in srgb, var(--color-overlay) 75%, transparent) 100%); }
.video__play { position: absolute; top: 50%; left: 50%; translate: -50% -50%; z-index: 2; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--color-primary-dark); transition: transform var(--motion-dur) var(--motion-ease); }
.video__item:hover .video__play { transform: scale(1.1); }
.video__play .icon { font-size: var(--icon-lg); }
.video__label { position: absolute; left: 18px; bottom: 16px; z-index: 2; color: #fff; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); }
@media (max-width: 780px) { .video__grid { grid-template-columns: 1fr 1fr; } .video__item--lead { aspect-ratio: 16 / 8; } }
@media (max-width: 500px) { .video__grid { grid-template-columns: 1fr; } .video__item--lead { aspect-ratio: 16 / 10; } }

.video__arrows { justify-content: flex-end; margin-bottom: 16px; }
.video-sec--v2 .video__item { display: block; width: 100%; aspect-ratio: 16 / 10; }

.video__split { display: grid; grid-template-columns: 1.7fr 1fr; gap: var(--gap); align-items: stretch; }

.video__feature { aspect-ratio: auto; height: 100%; min-height: 220px; width: 100%; }
.video__list { display: flex; flex-direction: column; gap: 10px; padding-right: 4px; }
.video__row { display: flex; align-items: center; gap: 14px; text-align: left; padding: 8px; border: none; cursor: pointer; border-radius: var(--radius); background: rgba(255,255,255,.06); transition: background var(--motion-dur) var(--motion-ease); }
.video__row:hover { background: rgba(255,255,255,.13); }
.video__row-thumb { position: relative; flex: none; width: 132px; aspect-ratio: 16 / 10; border-radius: var(--radius-sm); overflow: hidden; }
.video__row-thumb img { width: 100%; height: 100%; object-fit: cover; }
.video__row-play { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: color-mix(in srgb, var(--color-overlay) 30%, transparent); transition: background var(--motion-dur) var(--motion-ease); }
.video__row:hover .video__row-play { background: color-mix(in srgb, var(--color-overlay) 12%, transparent); }
.video__row-play .icon { font-size: var(--icon-md); }
.video__row-label { color: #fff; font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-body); }
@media (max-width: 760px) {
  .video__split { grid-template-columns: 1fr; }
  .video__feature { aspect-ratio: 16 / 9; height: auto; min-height: 0; }
}

.video__modal { position: fixed; inset: 0; z-index: 200; background: color-mix(in srgb, var(--color-overlay) 86%, transparent); display: grid; place-items: center; padding: 24px; }
.video__frame { position: relative; width: min(960px, 100%); aspect-ratio: 16 / 9; }
.video__frame iframe { width: 100%; height: 100%; border: 0; border-radius: var(--radius-lg); }
.video__close { position: absolute; top: -46px; right: 0; color: #fff; }
.video__close .icon { font-size: var(--icon-lg); }

.orphan__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-md); align-items: center; }
.orphan__media img { width: 100%; height: clamp(340px, 44vw, 480px); object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.orphan__list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0; }
.orphan__list li { display: flex; align-items: center; gap: 8px; font-size: var(--fs-body); color: var(--color-text); }
.orphan__ck { font-size: var(--icon-md); flex: 0 0 auto; color: var(--color-primary); }
.orphan__box { background: var(--color-bg-alt); border-radius: var(--radius-lg); padding: var(--card-pad); }
.orphan__box-lbl { font-size: var(--fs-sm); font-weight: 700; color: var(--color-text-muted); letter-spacing: .04em; }
.orphan__amounts { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 18px; }
@media (max-width: 820px) { .orphan__grid { grid-template-columns: 1fr; } .orphan__media { order: -1; } }
@media (max-width: 560px) { .orphan__list { grid-template-columns: 1fr; } }
.orphan__cta-txt { min-width: 0; }

.orphan--v2 { position: relative; overflow: hidden; display: flex; align-items: center; min-height: clamp(560px, 62vw, 720px); }
.orphan__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.orphan__scrim { position: absolute; inset: 0; background: linear-gradient(100deg, color-mix(in oklab, var(--color-overlay) 55%, transparent), color-mix(in oklab, var(--color-overlay) 12%, transparent) 60%); }
.orphan--v2 .container { position: relative; }
.orphan__panel { max-width: 540px; margin-inline-start: auto; padding: clamp(24px, 3vw, 40px); }
.orphan--v2 .orphan__list { grid-template-columns: 1fr; gap: 10px; margin: 20px 0; }
.orphan--v2 .orphan__box { background: var(--color-bg); }
@media (max-width: 640px) { .orphan__panel { margin-inline: 0; max-width: none; } }

.orphan__banner { overflow: hidden; }
.orphan__banner-media img { display: block; width: 100%; height: clamp(220px, 30vw, 360px); object-fit: cover; }
.orphan__banner-body { padding: clamp(24px, 3.5vw, 44px); }
.orphan__banner-body .lead { max-width: 60ch; }
.orphan__cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 48px); align-items: start; margin-top: 24px; }
.orphan--v3 .orphan__list { grid-template-columns: 1fr; margin: 0; }
@media (max-width: 760px) { .orphan__cols { grid-template-columns: 1fr; gap: 24px; } }

.cta-band { background: var(--color-dark); color: #fff; }
.cta-band__in { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; padding-block: clamp(56px, 8vw, 96px); }
.cta-band__title { color: #fff; font-size: var(--fs-hero); line-height: 1.1; margin: 0; max-width: 20ch; }
.cta-band__title .accent { color: var(--color-primary); }
.cta-band__text { color: rgba(255,255,255,.82); font-size: var(--fs-h4); line-height: 1.4; max-width: 56ch; margin: 0; }
.cta-band__actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 10px; }
.cta-band__trust { display: flex; gap: clamp(16px, 3vw, 34px); flex-wrap: wrap; justify-content: center; margin-top: 22px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); width: 100%; max-width: 680px; }
.cta-band__trust li { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-sm); font-weight: 600; color: rgba(255,255,255,.82); }
.cta-band__trust .icon { color: var(--color-primary); font-size: var(--icon-md); }

.page-header { position: relative; overflow: hidden; }
.page-header__in { position: relative; z-index: 1; padding-block: clamp(28px, 5vw, 56px); }

.page-header__title { font-size: var(--fs-page); line-height: var(--heading-leading, 1.12); color: var(--color-heading); margin: 6px 0 0; }
.page-header__desc { margin-top: 12px; max-width: 62ch; color: var(--color-text); font-size: var(--fs-body); line-height: var(--body-leading); }

.crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: var(--fs-sm); color: var(--color-text-muted); margin-bottom: 14px; }
.crumbs a { color: var(--color-text-muted); }
.crumbs a:hover { color: var(--color-primary); }
.crumbs__sep { display: inline-flex; }
.crumbs__sep .icon { font-size: var(--icon-sm); opacity: .5; }
.crumbs__current { color: var(--color-heading); font-weight: 600; }

.page-header--v1 { background: var(--color-bg); border-bottom: 1px solid var(--color-border); }

.page-header--v2 { background: var(--color-dark); }
.page-header--v2 .page-header__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-header--v2 .page-header__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, color-mix(in srgb, var(--color-overlay) 45%, transparent), color-mix(in srgb, var(--color-overlay) 78%, transparent)); }
.page-header--v2 .page-header__in { text-align: center; padding-block: clamp(48px, 8vw, 96px); }
.page-header--v2 .crumbs { justify-content: center; color: rgba(255,255,255,.75); }
.page-header--v2 .crumbs a { color: rgba(255,255,255,.75); }
.page-header--v2 .crumbs a:hover { color: #fff; }
.page-header--v2 .crumbs__current { color: #fff; }
.page-header--v2 .page-header__title { color: #fff; }
.page-header--v2 .page-header__desc { color: rgba(255,255,255,.9); margin-inline: auto; }

.page-header--v3 { background: var(--color-surface); border-bottom: 1px solid var(--color-border); }
.page-header--v3 .page-header__in { text-align: center; }
.page-header--v3 .crumbs { justify-content: center; }
.page-header--v3 .page-header__title { position: relative; padding-top: 18px; }
.page-header--v3 .page-header__title::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 48px; height: 3px; border-radius: var(--radius-pill); background: var(--color-primary); }
.page-header--v3 .page-header__desc { margin-inline: auto; }

.rich-text__grid { display: grid; gap: var(--gap-md); align-items: center; }
.rich-text--v1 .rich-text__grid { max-width: 760px; }
.rich-text--v2 .rich-text__grid,
.rich-text--v3 .rich-text__grid { grid-template-columns: 1fr 1fr; }
.rich-text--v3 .rich-text__body { order: 2; }
.rich-text__body > * + * { margin-top: 16px; }
.rich-text__body p { color: var(--color-text); font-size: var(--fs-body); line-height: var(--body-leading); }
.rich-text__body .lead { color: var(--color-heading); font-size: var(--fs-h4); line-height: 1.5; }
.rich-text__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.rich-text__media figcaption { margin-top: 10px; font-size: var(--fs-sm); color: var(--color-text-muted); text-align: center; }

@media (max-width: 760px) {
  .rich-text--v2 .rich-text__grid,
  .rich-text--v3 .rich-text__grid { grid-template-columns: 1fr; }
  .rich-text--v3 .rich-text__body { order: 0; }
}

.team__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }
.tmcard { text-align: center; padding: 28px 20px; }
.tmcard__avatar { width: 96px; height: 96px; margin: 0 auto 16px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--color-tag-bg); }
.tmcard__avatar img { width: 100%; height: 100%; object-fit: cover; }
.tmcard__initial { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h2); color: var(--color-primary); }
.tmcard__name { font-size: var(--fs-h4); color: var(--color-heading); margin-bottom: 4px; }
.tmcard__role { font-size: var(--fs-sm); color: var(--color-text-muted); }
@media (max-width: 900px) { .team__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .team__grid { grid-template-columns: 1fr; } }

.contact__channels { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap-md); margin-bottom: var(--gap-lg); list-style: none; padding: 0; }
.contact-card { position: relative; display: flex; flex-direction: column; border: var(--border-width, 1.5px) solid color-mix(in srgb, var(--color-heading) 8%, transparent); transition: transform var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease), border-color var(--motion-dur) var(--motion-ease); }
.contact-card:hover { border-color: color-mix(in srgb, var(--color-primary) 30%, transparent); }

.contact-card__link { display: flex; flex-direction: column; gap: var(--gap-sm); height: 100%; padding: var(--card-pad); color: inherit; }
.contact-card__icon { display: inline-flex; align-items: center; justify-content: center; width: var(--control-h-sm); height: var(--control-h-sm); border-radius: var(--radius); background: color-mix(in srgb, var(--color-primary) 10%, transparent); color: var(--color-primary-dark); font-size: var(--icon-md); }
.contact-card__icon--whatsapp { background: color-mix(in srgb, var(--color-primary) 14%, transparent); }
.contact-card__icon--email { background: color-mix(in srgb, var(--color-accent) 15%, transparent); color: var(--color-heading); }
.contact-card__body { display: flex; flex-direction: column; gap: 6px; flex-grow: 1; }
.contact-card__title { font-family: var(--font-heading); font-size: var(--fs-h4); font-weight: 700; line-height: 1.25; color: var(--color-heading); }
.contact-card__desc { font-size: var(--fs-body); line-height: var(--body-leading); color: var(--color-text-muted); }

.contact-card__value { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; font-family: var(--font-heading); font-weight: 700; color: var(--color-primary-dark); word-break: break-word; transition: color var(--motion-dur) var(--motion-ease); }
.contact-card:hover .contact-card__value { color: var(--color-primary); }
.contact-card__go { font-size: var(--icon-sm); }

.contact-card__aside { position: absolute; top: var(--card-pad); right: var(--card-pad); display: flex; align-items: center; gap: 8px; }
.contact-card__badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-heading) 6%, transparent); font-size: var(--fs-xs); font-weight: 600; color: var(--color-text-muted); }
.contact-card__badge--online { background: color-mix(in srgb, var(--color-primary) 12%, transparent); color: var(--color-primary-dark); }
.contact-card__dot { font-size: 0.6em; color: var(--color-primary); }

.contact__main-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--gap-md); align-items: start; }
.contact__form-wrap { padding: var(--card-pad); border: var(--border-width, 1.5px) solid color-mix(in srgb, var(--color-heading) 8%, transparent); }
.contact__form-head { margin-bottom: var(--gap); }

.contact__panel-title { display: flex; align-items: center; gap: 10px; font-size: var(--fs-h3); margin-bottom: 6px; }
.contact__panel-title .icon { color: var(--color-primary); font-size: var(--icon-md); }
.contact__form-sub { font-size: var(--fs-body); color: var(--color-text-muted); margin-bottom: 0; }

.contact__subject-group { margin-bottom: var(--gap); }
.contact__pills { display: flex; flex-wrap: wrap; gap: 8px; }

.contact__pill { display: inline-flex; align-items: center; gap: 8px; min-height: var(--control-h-md); padding: 0 18px; border-radius: var(--btn-radius); border: var(--border-width, 1.5px) solid color-mix(in srgb, var(--color-heading) 12%, transparent); background: var(--color-surface); font-family: var(--font-heading); font-size: var(--fs-md); font-weight: 600; color: var(--color-text); cursor: pointer; transition: border-color var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease); }
.contact__pill:hover { border-color: var(--color-primary); color: var(--color-primary-dark); background: color-mix(in srgb, var(--color-primary) 6%, transparent); }
.contact__pill[aria-checked="true"] { border-color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 12%, transparent); color: var(--color-primary-dark); box-shadow: inset 0 0 0 var(--border-width, 1.5px) var(--color-primary); }
.field-label { display: block; font-family: var(--font-heading); font-size: var(--fs-md); font-weight: 700; color: var(--color-heading); margin-bottom: 10px; }
.field { display: block; margin-bottom: 18px; }
.field > span { display: block; font-size: var(--fs-md); font-weight: 600; color: var(--color-heading); margin-bottom: 6px; }
.field .req { color: var(--color-primary); font-style: normal; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact__form textarea.input { min-height: 120px; resize: vertical; }
.contact__form-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: var(--gap); }
.contact__form-note { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--color-text-muted); }

.contact__chips { display: flex; flex-wrap: wrap; gap: var(--gap-sm); margin: var(--gap) 0 0; padding-top: var(--gap-sm); border-top: var(--border-width, 1.5px) solid color-mix(in srgb, var(--color-heading) 8%, transparent); list-style: none; }
.contact__chip { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: 600; color: var(--color-text-muted); }
.contact__chip .icon { color: var(--color-primary); font-size: var(--icon-sm); }

.contact__ok { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--gap-sm); padding: var(--block-pad); }
.contact__ok-icon { display: inline-flex; align-items: center; justify-content: center; width: var(--control-h-lg); height: var(--control-h-lg); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-primary) 12%, transparent); color: var(--color-primary); font-size: var(--icon-xl); }
.contact__ok-title { font-size: var(--fs-h3); }

.contact__side { display: flex; flex-direction: column; gap: var(--gap-md); position: sticky; top: var(--sticky-top); align-self: start; }
.contact__visit { padding: var(--card-pad); border: var(--border-width, 1.5px) solid color-mix(in srgb, var(--color-heading) 8%, transparent); }
.contact__facts { display: flex; flex-direction: column; gap: var(--gap-sm); margin: var(--gap-sm) 0 var(--gap); }

.contact__fact dt { margin-bottom: 4px; }
.contact__fact dd { font-size: var(--fs-body); line-height: var(--body-leading); color: var(--color-heading); margin: 0; }
.contact__help-box { display: flex; align-items: flex-start; gap: 14px; padding: var(--card-pad); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--color-primary) 5%, var(--color-surface)); border: var(--border-width, 1.5px) solid color-mix(in srgb, var(--color-primary) 20%, transparent); }
.contact__help-icon { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: var(--control-h-sm); height: var(--control-h-sm); border-radius: var(--radius); background: var(--color-primary); color: var(--color-primary-text); font-size: var(--icon-lg); }
.contact__help-body { flex-grow: 1; }
.contact__help-box strong { display: block; font-family: var(--font-heading); font-size: var(--fs-h4); font-weight: 700; line-height: 1.25; color: var(--color-heading); margin-bottom: 6px; }
.contact__help-box p { font-size: var(--fs-sm); line-height: var(--body-leading); color: var(--color-text-muted); margin-bottom: 8px; }
.contact__help-link { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-sm); font-weight: 700; color: var(--color-primary-dark); }
.contact__help-link:hover { color: var(--color-primary); }

.contact__map { margin: var(--gap-lg) 0 0; }
.contact__map-cap { margin-bottom: var(--gap-sm); }
.contact__map-tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-heading); font-size: var(--fs-md); font-weight: 700; color: var(--color-heading); }
.contact__map-tag .icon { color: var(--color-primary); font-size: var(--icon-md); }

.contact__map-frame { width: 100%; border-radius: var(--radius-lg); overflow: hidden; line-height: 0; border: var(--border-width, 1.5px) solid color-mix(in srgb, var(--color-heading) 8%, transparent); box-shadow: var(--shadow-card); }
.contact__map-frame iframe { display: block; width: 100%; aspect-ratio: 21 / 6; border: 0; }

@media (max-width: 1024px) {
  .contact__channels { grid-template-columns: repeat(2, 1fr); }
  .contact__main-grid { grid-template-columns: 1fr; }

  .contact__side { position: static; }
  .contact__map-frame iframe { aspect-ratio: 16 / 9; }
}
@media (max-width: 600px) {
  .contact__channels { grid-template-columns: 1fr; gap: var(--gap-sm); }
  .field-row { grid-template-columns: 1fr; }
  .contact__form-wrap { padding: var(--card-pad); }
  .contact__form-foot { flex-direction: column; align-items: stretch; }
  .contact__pill { width: 100%; justify-content: center; }
  .contact__map-frame iframe { aspect-ratio: 4 / 3; }
}

.pill { padding: 9px 16px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-surface); font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-sm); color: var(--color-text); cursor: pointer; transition: var(--motion-dur) var(--motion-ease); }
.pill:hover { border-color: var(--color-primary); color: var(--color-primary); }
.pill.is-active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-text); }
.amount-btn { padding: 0 18px; height: var(--control-h-md); border-radius: var(--radius); border: 1px solid var(--color-border); background: var(--color-surface); font-family: var(--font-heading); font-weight: 700; color: var(--color-heading); cursor: pointer; transition: var(--motion-dur) var(--motion-ease); }
.amount-btn:hover { border-color: var(--color-primary); }
.amount-btn.is-active { background: var(--color-tag-bg); border-color: var(--color-primary); color: var(--color-primary-dark); }

.dflow__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--gap-md); align-items: start; }
.dflow__form { padding: var(--card-pad); display: flex; flex-direction: column; gap: 24px; }
.dflow__label { display: block; font-size: var(--fs-sm); font-weight: 700; color: var(--color-heading); margin-bottom: 12px; }
.dflow__cats, .dflow__amounts, .dflow__freq { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.dflow__custom { max-width: 150px; }
.dflow__custom.is-active { border-color: var(--color-primary); }
.dflow__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.dflow__actions .btn { flex: 1; min-width: 180px; }
.dflow__summary { padding: 28px; display: flex; flex-direction: column; gap: 14px; position: sticky; top: var(--sticky-top); }
.dflow__sum-eyebrow { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .1em; font-size: var(--fs-xs); font-weight: 700; opacity: .7; }
.dflow__sum-row { display: flex; justify-content: space-between; gap: 12px; font-size: var(--fs-body); opacity: .9; }
.dflow__sum-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-top: 14px; margin-top: 4px; border-top: 1px solid rgba(255,255,255,.18); }
.dflow__sum-total strong { font-family: var(--font-heading); font-size: var(--fs-h2); color: #fff; }
.dflow__trust { display: flex; align-items: center; gap: 8px; font-size: var(--fs-sm); opacity: .82; margin-top: 4px; }

.checkout__grid { display: grid; grid-template-columns: 2fr 1fr; gap: var(--gap-md); align-items: start; }
.checkout__main { display: flex; flex-direction: column; gap: var(--gap-md); }
.checkout__card { padding: var(--card-pad); }
.checkout__h { display: flex; align-items: center; gap: 12px; font-size: var(--fs-h4); color: var(--color-heading); margin-bottom: 20px; }
.checkout__step { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%; background: var(--color-tag-bg); color: var(--color-primary-dark); font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-sm); }
.field-row--3 { grid-template-columns: 1fr 1fr 1fr; }
.field__hint { display: block; margin-top: 6px; font-size: var(--fs-xs); color: var(--color-text-muted); }
.checkbox { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; font-size: var(--fs-body); color: var(--color-text); }
.checkbox input { margin-top: 3px; flex: none; }
.checkbox a { color: var(--color-primary); text-decoration: underline; }

.checkout__pay { display: grid; grid-template-columns: 1fr 320px; gap: var(--gap); align-items: start; margin-bottom: 8px; }
.checkout__pay-fields { display: flex; flex-direction: column; gap: 14px; }
.cardvis { position: relative; overflow: hidden; aspect-ratio: 1.6 / 1; border-radius: var(--radius-lg); padding: 22px; color: #fff; box-shadow: var(--shadow-card); display: flex; flex-direction: column; justify-content: space-between;
  background:
    radial-gradient(130% 130% at 100% 0%, color-mix(in srgb, var(--color-primary) 42%, transparent), transparent 52%),
    linear-gradient(135deg, color-mix(in srgb, var(--color-dark) 82%, #000), var(--color-dark)); }
.cardvis > * { position: relative; z-index: 1; }
.cardvis::after { content: ""; position: absolute; inset: 0; background: radial-gradient(75% 55% at 12% 115%, rgba(255, 255, 255, .1), transparent 60%); pointer-events: none; }
.cardvis__top { display: flex; justify-content: space-between; align-items: center; }
.cardvis__chip { position: relative; width: 44px; height: 32px; border-radius: 7px; background: linear-gradient(135deg, #f0dfa0, #b89540); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }
.cardvis__chip::before { content: ""; position: absolute; inset: 8px 6px; border: 1px solid rgba(0, 0, 0, .18); border-radius: 3px; }
.cardvis__brand { font-family: var(--font-heading); font-style: italic; font-weight: 800; letter-spacing: .05em; }
.cardvis__no { font-family: var(--font-heading); font-size: var(--fs-h4); letter-spacing: .12em; }
.cardvis__row { display: flex; justify-content: space-between; font-size: var(--fs-sm); letter-spacing: .06em; color: rgba(255,255,255,.85); }

.checkout__summary { padding: var(--card-pad); position: sticky; top: var(--sticky-top); }
.csum__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; margin-bottom: 4px; border-bottom: 1px solid var(--color-border); }
.csum__title { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-heading); font-weight: 700; color: var(--color-heading); }
.csum__title .icon { font-size: var(--icon-md); color: var(--color-primary); }
.csum__count { font-size: var(--fs-sm); color: var(--color-text-muted); white-space: nowrap; }
.csum__row { padding: 16px 0; border-bottom: 1px solid var(--color-border); }
.csum__id { display: flex; flex-direction: column; gap: 2px; }
.csum__id strong { color: var(--color-heading); font-size: var(--fs-body); }
.csum__ctrl { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.csum__ctrl-left { display: flex; align-items: center; gap: 8px; }
.csum__sum { font-family: var(--font-heading); font-weight: 700; color: var(--color-heading); white-space: nowrap; }
.csum__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 16px; margin: 10px 0 16px; border-top: 2px solid var(--color-heading); }
.csum__total strong { font-family: var(--font-heading); font-size: var(--fs-h3); color: var(--color-primary); }
.checkout__schemes { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.scheme { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-xs); letter-spacing: .04em; color: var(--color-text-muted); background: var(--color-bg-alt); border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: 4px 10px; }
.checkout__secure { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; font-size: var(--fs-sm); color: var(--color-text-muted); text-align: center; }
.checkout__secure .icon { color: var(--color-primary); flex-shrink: 0; }

.checkout__empty { max-width: 620px; margin-inline: auto; text-align: center; padding: clamp(40px, 6vw, 64px) 32px; display: flex; flex-direction: column; align-items: center; gap: 10px; margin-bottom: var(--gap-lg); }
.checkout__empty-ico { display: inline-flex; align-items: center; justify-content: center; width: 82px; height: 82px; border-radius: 50%; background: var(--color-tag-bg); color: var(--color-primary); margin-bottom: 6px; }
.checkout__empty-ico .icon { font-size: 40px; }
.checkout__empty h3 { font-size: var(--fs-h3); color: var(--color-heading); }
.checkout__empty > p { color: var(--color-text-muted); max-width: 42ch; }
.checkout__empty-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 14px; }
.checkout__quick { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--color-border); width: 100%; }
.checkout__quick-lbl { display: block; font-size: var(--fs-xs); letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-muted); font-weight: 700; margin-bottom: 14px; }
.checkout__quick-row { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.checkout__quick-row .chip { display: inline-flex; align-items: center; gap: 8px; }
.checkout__quick-row .chip .icon { font-size: var(--icon-sm); color: var(--color-primary); }
.checkout__quick-row .chip:hover .icon { color: inherit; }
@media (max-width: 980px) {
  .checkout__grid { grid-template-columns: 1fr; }
  .checkout__summary { position: static; }
  .checkout__pay { grid-template-columns: 1fr; }
  .cardvis { max-width: 360px; order: -1; }
}
@media (max-width: 560px) { .field-row--3 { grid-template-columns: 1fr; } }

.checkout--stack { padding-bottom: 0; }
.cochk { display: flex; flex-direction: column; gap: var(--gap); }

.cochk__card { padding: 0; }
.cochk__head { padding: var(--card-pad) var(--card-pad) 0; }
.cochk__head-txt { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.cochk__title { font-family: var(--font-heading); font-size: var(--fs-h4); font-weight: 700; line-height: 1.25; color: var(--color-heading); }
.cochk__desc { font-size: var(--fs-body); line-height: var(--body-leading); color: var(--color-text-muted); }

.cochk__body { padding: var(--card-pad); }
.cochk__head + .cochk__body { padding-top: 22px; }
.cochk__head + .cochk__body--flush { padding-top: 10px; padding-bottom: 6px; }
.cochk__body > .field + .field,
.cochk__body > .field-row + .field,
.cochk__body > .field + .field-row,
.cochk__body > .field-row + .field-row,
.cochk__body > div > .field + .field,
.cochk__body > div > .field + .field-row { }

.cochk__foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 16px var(--card-pad); border-top: 1px solid var(--color-border); }
.cochk__foot--trust { justify-content: center; font-size: var(--fs-sm); color: var(--color-text-muted); }
.cochk__foot--trust .icon { font-size: var(--icon-sm); color: var(--color-primary); margin-right: 6px; }
.cochk__more { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); color: var(--color-primary-dark); transition: color var(--motion-dur) var(--motion-ease); }
.cochk__more .icon { font-size: var(--icon-sm); }
.cochk__more:hover { color: var(--color-primary); }
.cochk__foot-sum { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.cochk__foot-sum .icon { font-size: var(--icon-sm); color: var(--color-primary); }
.cochk__foot-sum strong { font-family: var(--font-heading); color: var(--color-heading); }

.cline { display: flex; align-items: center; justify-content: space-between; gap: var(--gap); padding: 18px 0; border-top: 1px solid var(--color-border); }
.cline:first-child { border-top: 0; }
.cline__main { display: flex; align-items: center; gap: 16px; min-width: 0; }

.cline__media { width: 64px; height: 64px; flex: none; border-radius: var(--radius-sm); overflow: hidden; background: var(--color-bg-alt); }
.cline__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cline__id { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
.cline__id strong { font-family: var(--font-heading); font-size: var(--fs-md); font-weight: 700; line-height: 1.25; color: var(--color-heading); }
.cline__ctrl { display: flex; align-items: center; gap: 18px; flex: none; }

.freq { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: transparent; color: var(--color-text-muted); font-size: var(--fs-sm); font-weight: 600; cursor: pointer; transition: color var(--motion-dur) var(--motion-ease), border-color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease); }
.freq .icon { font-size: var(--icon-sm); }
.freq:hover { color: var(--color-heading); border-color: var(--color-heading); }
.freq.is-on { background: transparent; border-color: var(--color-primary); color: var(--color-primary-dark); box-shadow: inset 0 0 0 1px var(--color-primary); }
.freq.is-on:hover { border-color: var(--color-primary-dark); box-shadow: inset 0 0 0 1px var(--color-primary-dark); color: var(--color-primary-dark); }

.cline__sum { display: grid; justify-items: end; align-items: center; min-width: 152px; }
.cline__sum > * { grid-area: 1 / 1; }
.cline__sum strong { font-family: var(--font-heading); font-size: var(--fs-h4); font-weight: 700; color: var(--color-heading); white-space: nowrap; }
.cline__sum small { display: flex; align-items: center; justify-content: flex-end; gap: 5px; font-size: var(--fs-sm); color: var(--color-text-muted); white-space: nowrap; padding:0 9px; }

.cline__price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; width: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; text-align: right; }

.cline__price strong,
.cline__input { padding: 2px 9px; border: 1px solid transparent; border-radius: var(--radius-sm); line-height: 1.25; }
.cline__price strong { transition: border-color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.cline__price:hover strong { border-color: color-mix(in srgb, var(--color-primary) 40%, transparent); background: var(--color-bg-alt); color: var(--color-primary-dark); }
.cline__price .icon { font-size: var(--icon-sm); color: var(--color-text-muted); opacity: .5; transition: opacity var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.cline__price:hover .icon { opacity: 1; color: var(--color-primary); }

@media (hover: none) { .cline__price .icon { opacity: .8; } }

.cline__edit { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; width: 100%; }
.cline__input-wrap { display: inline-flex; align-items: baseline; gap: 4px; }

.cline__input { width: 100px; border-color: var(--color-primary); background: var(--color-bg-alt); text-align: right;
  font-family: var(--font-heading); font-size: var(--fs-h4); font-weight: 700; color: var(--color-heading); }

.cline__input:focus:not(:focus-visible) { outline: 0;  }
.cline__input:focus { border-color: var(--color-primary-dark); }
.cline__input-cur { font-family: var(--font-heading); font-size: var(--fs-h4); font-weight: 700; color: var(--color-text-muted); }

.cline__x { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--color-text-muted); cursor: pointer; transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.cline__x:hover { background: var(--color-bg-alt); color: var(--color-heading); }
.cline__x .icon { font-size: var(--icon-sm); }

.mswitch { display: flex; gap: 28px; margin-bottom: 24px; border-bottom: 1px solid var(--color-border); }
.mswitch button { position: relative; padding: 0 0 12px; border: 0; background: transparent; cursor: pointer; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); color: var(--color-text-muted); transition: color var(--motion-dur) var(--motion-ease); }
.mswitch button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--color-primary); transform: scaleX(0); transform-origin: left; transition: transform var(--motion-dur) var(--motion-ease); }
.mswitch button:hover,
.mswitch button.is-on { color: var(--color-heading); }
.mswitch button.is-on::after { transform: scaleX(1); }

.field-split { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.cochk__body .checkout__pay { grid-template-columns: minmax(0, 1fr) 420px; gap: clamp(20px, 3vw, 30px); align-items: start; margin-bottom: 0; }
@media (max-width: 980px) {
  .cochk__body .checkout__pay { grid-template-columns: minmax(0, 1fr); }
}

.cochk__banks { display: flex; flex-direction: column; gap: 12px; }
.cochk__note { margin-top: 18px; padding-left: 16px; border-left: 2px solid var(--color-border); font-size: var(--fs-body); line-height: var(--body-leading); color: var(--color-text-muted); }
.cochk__note a { color: var(--color-primary); text-decoration: underline; }
.cochk__note--demo { border-left-color: var(--color-accent); }
.cochk__note--demo strong { font-family: var(--font-heading); color: var(--color-heading); }

.paydock { --paydock-h: 86px;
  position: sticky; bottom: 0; z-index: 70; margin-top: 4px; min-height: var(--paydock-h);
  border-top: 1px solid var(--color-border); border-bottom: 0;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  box-shadow: var(--shadow-hover); background: color-mix(in srgb, var(--color-surface) 60%, transparent); backdrop-filter: blur(12px) saturate(1.4); -webkit-backdrop-filter: blur(12px) saturate(1.4);  }

.paydock__inner { display: flex; align-items: center; gap: clamp(14px, 2vw, 24px); min-height: var(--paydock-h); padding: 16px clamp(16px, 2.4vw, 26px); }
.paydock__lines { display: flex; flex-direction: column; gap: 3px; flex: 1 1 auto; min-width: 0; max-width: 370px; }
.paydock__line { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; font-size: var(--fs-sm); line-height: 1.45; }
.paydock__lbl { display: inline-flex; align-items: center; gap: 6px; color: var(--color-text-muted); }
.paydock__lbl .icon { font-size: var(--icon-sm); color: var(--color-primary); }
.paydock__val { font-family: var(--font-heading); font-weight: 700; color: var(--color-heading); white-space: nowrap; font-size: var(--fs-md); }
.paydock__val--free { color: var(--color-primary); }
.paydock__line--note { padding-top: 4px; margin-top: 1px; border-top: 1px solid var(--color-border); }

.paydock__total { display: flex; flex-direction: column; gap: 0; flex: none; padding-inline: clamp(14px, 2vw, 24px); border-left: 1px solid var(--color-border); }
.paydock__total-lbl { font-size: var(--fs-xs); letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--color-text-muted); }
.paydock__total-val { font-family: var(--font-heading); font-size: var(--fs-h3); font-weight:900; line-height: 1.15; color: var(--color-primary); white-space: nowrap; }
.paydock__total-sub { font-size: var(--fs-xs); line-height: 1.35; color: var(--color-text-muted); }

.paydock__act { display: flex; flex-direction: column; align-items: stretch; gap: 5px; flex: none; margin-left: auto; }
.paydock__cta { white-space: nowrap; height: var(--control-h-md); padding-inline: 22px; }
.paydock__secure { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: var(--fs-xs); line-height: 1.3; color: var(--color-text-muted); }
.paydock__secure .icon { font-size: var(--icon-sm); color: var(--color-primary); }

body[data-page="odeme"] .fab { display: none; }

@media (max-width: 1024px) {

  .paydock__total { border-left: 0; padding-inline: 0; }
  .paydock__inner { flex-wrap: wrap; }
}
@media (max-width: 860px) {

  .paydock { position: static; border-radius: var(--radius-lg); border-bottom: 1px solid var(--color-border); margin-top: var(--gap-sm); box-shadow: var(--shadow-card); }
}
@media (max-width: 720px) {

  .cline { position: relative; flex-direction: column; align-items: stretch; gap: 12px; }
  .cline__media { width: 52px; height: 52px; }
  .cline__main { padding-right: 40px; }
  .cline__x { position: absolute; top: 14px; right: -8px; }
  .cline__ctrl { justify-content: space-between; gap: 8px; }
  .cline__sum { min-width: 0; justify-items: end; }

  .cochk__foot { flex-direction: column; align-items: center; text-align: center; gap: 12px; }
  .cochk__foot .cochk__foot-sum { width: 100%; justify-content: center; padding-top: 12px; border-top: 1px solid var(--color-border); }

  .paydock { --paydock-h: auto; }
  .paydock__inner { flex-direction: column; align-items: stretch; gap: 12px; padding: 16px 18px; min-height: 0; }
  .paydock__lines { max-width: none; }

  .paydock__line:not(.paydock__line--note) { display: none; }
  .paydock__total { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 10px; }
  .paydock__act { margin-left: 0; }
  .paydock__line--note { border:0; }
}
@media (max-width: 420px) {
  .mswitch { gap: 18px; }
  .cline__ctrl { flex-wrap: wrap; }
}

.success__wrap { display: flex; flex-direction: column; gap: var(--gap); }

.success__hero { text-align: center; padding: clamp(32px, 5vw, 52px) clamp(24px, 4vw, 48px); display: flex; flex-direction: column; align-items: center; }
.success__badge { display: inline-flex; align-items: center; justify-content: center; width: 84px; height: 84px; border-radius: 50%; background: var(--color-tag-bg); color: var(--color-primary); margin-bottom: 18px; box-shadow: 0 0 0 8px color-mix(in srgb, var(--color-primary) 12%, transparent); }
.success__badge .icon { font-size: 44px; }
.success__title { font-size: var(--fs-h2); color: var(--color-heading); margin-bottom: 10px; }
.success__lead { color: var(--color-text-muted); max-width: 52ch; margin-inline: auto; }
.success__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 26px; width: 100%; }
.success__meta-item { flex: 1 1 160px; display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; background: var(--color-bg-alt); border-radius: var(--radius); }
.success__meta-item span { font-size: var(--fs-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-muted); font-weight: 700; }
.success__meta-item strong { font-family: var(--font-heading); font-size: var(--fs-h4); color: var(--color-heading); }
.success__meta-total { color: var(--color-primary) !important; }

.success__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--gap); align-items: start; }
.success__receipt, .success__next { padding: var(--card-pad); }
.success__h { display: flex; align-items: center; gap: 10px; font-size: var(--fs-h4); color: var(--color-heading); margin-bottom: 18px; }
.success__h .icon { color: var(--color-primary); }
.success__items { display: flex; flex-direction: column; }
.success__item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.success__item-id { display: flex; flex-direction: column; gap: 3px; }
.success__item-id strong { color: var(--color-heading); }
.success__item-id .muted { font-size: var(--fs-sm); }
.success__item-sum { font-family: var(--font-heading); font-weight: 700; color: var(--color-heading); white-space: nowrap; }
.success__total { display: flex; align-items: baseline; justify-content: space-between; padding-top: 16px; margin-top: 4px; border-top: 2px solid var(--color-heading); }
.success__total strong { font-family: var(--font-heading); font-size: var(--fs-h3); color: var(--color-primary); }
.success__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

.success__steps { display: flex; flex-direction: column; gap: 18px; }
.success__step { display: flex; gap: 14px; }
.success__step-ico { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: var(--radius); background: var(--color-tag-bg); color: var(--color-primary); }
.success__step-ico .icon { font-size: var(--icon-md); }
.success__step strong { display: block; color: var(--color-heading); font-family: var(--font-heading); margin-bottom: 2px; }
.success__step p { color: var(--color-text-muted); font-size: var(--fs-sm); line-height: var(--body-leading, 1.6); }
.success__foot { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

.success__empty { max-width: 560px; margin-inline: auto; text-align: center; padding: clamp(40px, 6vw, 64px) 32px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.success__empty-ico { display: inline-flex; align-items: center; justify-content: center; width: 78px; height: 78px; border-radius: 50%; background: var(--color-tag-bg); color: var(--color-primary); margin-bottom: 6px; }
.success__empty-ico .icon { font-size: 38px; }
@media (max-width: 820px) { .success__grid { grid-template-columns: 1fr; } }
@media print {
  .site-header, .site-footer, .success__next, .success__foot, .success__actions, .topbar, .mobilenav, .cart-fab { display: none !important; }
}

.zc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-md); align-items: start; }

.zc__form { padding: var(--card-pad); }
.zc__group { border: 0; padding: 0; margin: 0 0 20px; }
.zc__legend { display: flex; align-items: center; gap: 9px; padding: 0 0 14px; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); color: var(--color-heading); }
.zc__legend .icon { color: var(--color-primary); font-size: var(--icon-md); }
.zc__subtotal { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 2px solid var(--color-heading); }
.zc__subtotal span { font-weight: 600; color: var(--color-heading); }
.zc__subtotal strong { font-family: var(--font-heading); font-size: var(--fs-h3); color: var(--color-primary); }

.zc__result { padding: 30px; display: flex; flex-direction: column; gap: 18px; position: sticky; top: var(--sticky-top); }
.zc__rtitle { font-size: var(--fs-h4); color: #fff; }

.zc__nisab { display: flex; flex-direction: column; gap: 8px; }
.zc__nisab-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.zc__nisab-row span { font-size: var(--fs-sm); color: rgba(255, 255, 255, .72); }
.zc__nisab-row strong { font-family: var(--font-heading); color: #fff; }
.zc__track { height: 8px; border-radius: var(--radius-pill); background: rgba(255, 255, 255, .16); overflow: hidden; }
.zc__fill { display: block; height: 100%; border-radius: inherit; background: var(--color-primary); transition: width var(--motion-dur) var(--motion-ease); }
.zc__nisab-cap { display: flex; justify-content: space-between; gap: 12px; font-size: var(--fs-xs); color: rgba(255, 255, 255, .6); }

.zc__state { display: flex; flex-direction: column; gap: 12px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .16); }
.zc__badge { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); padding: 7px 14px; border-radius: var(--radius-pill); }
.zc__badge .icon { font-size: var(--icon-sm); }
.zc__badge--muted { background: rgba(255, 255, 255, .14); color: #fff; }
.zc__badge--ok { background: var(--color-primary); color: var(--color-primary-text); }
.zc__state--below p { font-size: var(--fs-sm); line-height: var(--body-leading, 1.6); color: rgba(255, 255, 255, .82); }
.zc__state--below strong { color: #fff; }
.zc__remain { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; background: rgba(255, 255, 255, .08); border-radius: var(--radius); padding: 12px 16px; }
.zc__remain span { font-size: var(--fs-sm); color: rgba(255, 255, 255, .72); }
.zc__remain strong { font-family: var(--font-heading); font-size: var(--fs-h4); color: #fff; }
.zc__due { display: flex; flex-direction: column; gap: 4px; }
.zc__due span { font-size: var(--fs-sm); color: rgba(255, 255, 255, .82); }
.zc__due-amount { font-family: var(--font-heading); font-size: var(--fs-hero); line-height: 1; color: #fff; }
.zc__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.zc__actions .btn { flex: 1; min-width: 150px; }

.zakat-calc--v2 .zc__grid { grid-template-columns: 1fr 1.15fr; }
.zakat-calc--v2 .zc__result { grid-column: 1; grid-row: 1; }
.zakat-calc--v2 .zc__form { grid-column: 2; grid-row: 1; }

.zakat-calc--v3 .zc__grid { grid-template-columns: minmax(0, 760px); justify-content: center; gap: var(--gap); }
.zakat-calc--v3 .zc__result { position: static; }

@media (max-width: 820px) {

  .zakat-calc--v2 .zc__grid { grid-template-columns: 1fr; }
  .zakat-calc--v2 .zc__result, .zakat-calc--v2 .zc__form { grid-column: 1; grid-row: auto; }
  .zakat-calc--v2 .zc__result { position: static; }
  .dflow__grid, .checkout__grid, .zc__grid { grid-template-columns: 1fr; }
  .dflow__summary, .zc__result { position: static; }
  .checkout__row { grid-template-columns: 1fr auto; row-gap: 8px; }
  .checkout__row-sum { grid-column: 2; }
}

.gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.gcard { position: relative; display: block; aspect-ratio: 4/3; }
.gcard__media { position: absolute; inset: 0; }
.gcard__media img { width: 100%; height: 100%; object-fit: cover; }
.gcard__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, color-mix(in srgb, var(--color-overlay) 80%, transparent)); }
.gcard__over { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.gcard__title { color: #fff; font-size: var(--fs-h4); line-height: 1.2; }
.gcard__zoom { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.92); display: grid; place-items: center; color: var(--color-heading); opacity: 0; transform: scale(.8); transition: var(--motion-dur) var(--motion-ease); }
.gcard:hover .gcard__zoom { opacity: 1; transform: scale(1); }
@media (max-width: 900px) { .gallery__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .gallery__grid { grid-template-columns: 1fr; } }

.detail__wrap { max-width: 820px; margin-inline: auto; }
.detail__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 18px 0 10px; }
.detail__date { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.detail__date-ico { color: var(--color-primary); }
.detail__title { font-size: var(--fs-h1); line-height: var(--heading-leading, 1.12); color: var(--color-heading); margin-bottom: 12px; }
.detail__lead { font-size: var(--fs-h4); line-height: 1.5; color: var(--color-text); margin-bottom: 24px; }
.detail__hero { margin: 8px 0 28px; }
.detail__hero img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.detail__body > p { color: var(--color-text); font-size: var(--fs-body); line-height: var(--body-leading); }
.detail__body > p + p { margin-top: 16px; }
.detail__stats { display: flex; flex-wrap: wrap; gap: 14px; margin: 4px 0 26px; }
.detail__stat { flex: 1; min-width: 120px; background: var(--color-bg); border-radius: var(--radius); padding: 18px; text-align: center; }
.detail__stat strong { display: block; font-family: var(--font-heading); font-size: var(--fs-h3); color: var(--color-primary); }
.detail__stat span { font-size: var(--fs-sm); color: var(--color-text-muted); }
.detail__gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 28px 0; }
.detail__gallery img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: var(--radius); }

.detail__media-wrap { margin: 30px 0 8px; }
.detail__mh { display: flex; align-items: center; gap: 10px; font-size: var(--fs-h4); color: var(--color-heading); margin-bottom: 18px; }
.detail__mh .icon { color: var(--color-primary); }
.detail__media { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.detail__mtile { position: relative; overflow: hidden; border-radius: var(--radius); aspect-ratio: 1/1; cursor: pointer; background: none; }
.detail__mtile img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); transition: transform var(--motion-dur) var(--motion-ease); }
.detail__mtile:hover img { transform: scale(1.06); }
.detail__mtile.is-video::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--color-overlay) 32%, transparent); }
.detail__mplay { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; }
.detail__mplay .icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: color-mix(in srgb, var(--color-primary) 92%, #000); color: var(--color-primary-text); font-size: 24px; box-shadow: var(--shadow-card); }
@media (max-width: 720px) { .detail__media { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .detail__media { grid-template-columns: repeat(2, 1fr); } }

.lightbox { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: clamp(16px, 4vw, 56px); background: color-mix(in srgb, var(--color-overlay) 92%, #000); }
.lightbox__stage { position: relative; width: 100%; max-width: 1000px; max-height: 100%; display: flex; align-items: center; justify-content: center; }
.lightbox__img { max-width: 100%; max-height: 82vh; width: auto; height: auto; border-radius: var(--radius); box-shadow: var(--shadow-hover); }
.lightbox__video { width: 100%; max-width: 960px; aspect-ratio: 16/9; }
.lightbox__video iframe { width: 100%; height: 100%; border: 0; border-radius: var(--radius); }
.lightbox__close { position: absolute; top: 18px; right: 20px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; transition: background var(--motion-dur) var(--motion-ease); }
.lightbox__close:hover { background: rgba(255,255,255,.28); }
.lightbox__close .icon { font-size: 22px; }
.lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; transition: background var(--motion-dur) var(--motion-ease); }
.lightbox__nav:hover { background: rgba(255,255,255,.28); }
.lightbox__nav .icon { font-size: 24px; }
.lightbox__nav--prev { left: clamp(12px, 3vw, 32px); }
.lightbox__nav--next { right: clamp(12px, 3vw, 32px); }
.lightbox__count { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); z-index: 2; font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-sm); color: rgba(255,255,255,.85); background: rgba(0,0,0,.35); padding: 5px 14px; border-radius: var(--radius-pill); }
@media (max-width: 560px) { .lightbox__nav { width: 40px; height: 40px; } }

.detail__foot { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--color-border); }
@media (max-width: 560px) { .detail__gallery { grid-template-columns: 1fr 1fr; } .detail__foot { flex-direction: column; } .detail__foot .btn { width: 100%; justify-content: center; } }

.pdetail__grid { display: grid; grid-template-columns: 2fr 1fr; gap: var(--gap-md); align-items: start; margin-top: 8px; }
.pdetail__main { min-width: 0; }

.pdetail__side { min-width: 0; position: sticky; top: var(--sticky-top); align-self: start; }

.pdetail--v2 .pdetail__grid { grid-template-columns: 1fr 2.2fr; }
.pdetail--v2 .pdetail__side { grid-column: 1; grid-row: 1; }
.pdetail--v2 .pdetail__main { grid-column: 2; grid-row: 1; }

.pdetail--v3 .pdetail__grid { grid-template-columns: minmax(0, 820px); justify-content: center; gap: var(--gap); }
.pdetail--v3 .pdetail__side { position: static; grid-row: 1; }
.pdetail--v3 .pdetail__main { grid-row: 2; }

.pdetail--v3 .daside { max-width: none; }

@media (max-width: 1040px) {

  .pdetail--v2 .pdetail__grid, .pdetail--v3 .pdetail__grid { grid-template-columns: 1fr; }
  .pdetail--v2 .pdetail__side, .pdetail--v2 .pdetail__main,
  .pdetail--v3 .pdetail__side, .pdetail--v3 .pdetail__main { grid-column: 1; grid-row: auto; }
  .pdetail--v2 .pdetail__side { position: static; }
}

.pdetail__block { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--color-border); }
.pdetail__block-h { display: flex; align-items: center; gap: 10px; font-size: var(--fs-h3); color: var(--color-heading); margin-bottom: 24px; }
.pdetail__block-h .icon { color: var(--color-primary); }

.pdetail__hl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pdetail__hl-item { display: flex; gap: 14px; align-items: flex-start; padding: 18px; background: var(--color-bg-alt); border-radius: var(--radius); }
.pdetail__hl-ico { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: var(--radius); background: var(--color-tag-bg); }
.pdetail__hl-ico .icon { font-size: var(--icon-lg); color: var(--color-primary); }
.pdetail__hl-title { font-size: var(--fs-body); font-weight: 700; color: var(--color-heading); margin-bottom: 4px; }
.pdetail__hl-text { font-size: var(--fs-sm); color: var(--color-text); line-height: 1.5; }

.pdetail__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin: 4px 0 28px; }
.pdetail__stat { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 20px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); transition: transform var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease); }
.pdetail__stat:hover { transform: translateY(-3px); box-shadow: var(--shadow-card); }
.pdetail__stat-ico { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 6px; border-radius: 50%; background: var(--color-tag-bg); }
.pdetail__stat-ico .icon { font-size: var(--icon-lg); color: var(--color-primary); }
.pdetail__stat-val { font-family: var(--font-heading); font-size: var(--fs-h2); line-height: 1; color: var(--color-heading); }
.pdetail__stat-lbl { font-size: var(--fs-sm); font-weight: 600; color: var(--color-text); }
.pdetail__stat-note { font-size: var(--fs-xs); color: var(--color-text-muted); }

.pdetail__status { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: 600; padding: 3px 12px; border-radius: var(--radius-pill); }
.pdetail__status .icon { font-size: var(--icon-sm); }
.pdetail__status--ongoing { color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 12%, transparent); }
.pdetail__status--completed { color: var(--color-text-muted); background: var(--color-bg-alt); }
.pdetail__status--planned { color: var(--color-text); background: var(--color-bg-alt); }

.pstep { display: flex; flex-direction: column; margin: 0; padding: 0; }
.pstep__item { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding-bottom: 28px; }
.pstep__item:last-child { padding-bottom: 0; }
.pstep__item:not(:last-child)::before { content: ""; position: absolute; left: 23px; top: 52px; bottom: 4px; width: 2px; background: linear-gradient(var(--color-primary), color-mix(in srgb, var(--color-primary) 18%, var(--color-border))); }
.pstep__marker { position: relative; z-index: 1; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 12%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-primary) 32%, transparent); }
.pstep__marker .icon { font-size: var(--icon-md); }
.pstep__body { padding-top: 3px; }
.pstep__num { display: block; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--color-primary); margin-bottom: 5px; }
.pstep__title { font-size: var(--fs-h4); color: var(--color-heading); margin-bottom: 6px; }
.pstep__text { font-size: var(--fs-body); color: var(--color-text); line-height: var(--body-leading); }

.daside { padding: 28px; display: flex; flex-direction: column; gap: 18px; box-shadow: var(--shadow-hover); border: 1px solid color-mix(in srgb, var(--color-primary) 10%, var(--color-border)); }
.daside__head { display: flex; flex-direction: column; gap: 7px; padding-bottom: 16px; border-bottom: 1px solid var(--color-border); }
.daside__eyebrow { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .08em; font-size: var(--fs-xs); font-weight: 700; color: var(--color-primary); }
.daside__title { font-size: var(--fs-h4); line-height: 1.25; color: var(--color-heading); }
.daside__note { font-size: var(--fs-sm); color: var(--color-text-muted); line-height: 1.5; }
.daside__progress { display: flex; flex-direction: column; gap: 9px; padding: 14px 16px; background: var(--color-bg-alt); border-radius: var(--radius); }
.daside__nums { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.daside__nums strong { font-family: var(--font-heading); font-size: var(--fs-h4); color: var(--color-heading); }
.daside__pct { margin-left: auto; font-family: var(--font-heading); font-weight: 700; color: var(--color-primary); }
.daside__donors { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.daside__donors .icon { color: var(--color-primary); }
.daside__block { display: flex; flex-direction: column; gap: 10px; }
.daside__label { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; font-size: var(--fs-md); font-weight: 700; color: var(--color-heading); }
.daside__unitprice { font-weight: 500; font-size: var(--fs-xs); color: var(--color-text-muted); }

.daside__pills { display: flex; flex-wrap: nowrap; gap: 8px; }
.daside__pills .pill { flex: 1 1 0; min-width: 0; padding: 9px 8px; justify-content: center; text-align: center; white-space: nowrap; }

.daside__tiers { display: flex; flex-direction: column; gap: 10px; }
.daside__tier { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; padding: 14px 16px; border: 1.5px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); cursor: pointer; transition: border-color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease), box-shadow var(--motion-dur) var(--motion-ease); }
.daside__tier:hover { border-color: color-mix(in srgb, var(--color-primary) 55%, var(--color-border)); }
.daside__tier.is-active { border-color: var(--color-primary); background: var(--color-tag-bg); box-shadow: 0 0 0 1px var(--color-primary) inset; }
.daside__tier-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.daside__tier-name { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); color: var(--color-heading); }
.daside__tier-note { font-size: var(--fs-xs); color: var(--color-text-muted); line-height: 1.4; }
.daside__tier-price { flex: none; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); color: var(--color-primary); white-space: nowrap; }
.daside__tier-check { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--color-border); color: transparent; transition: var(--motion-dur) var(--motion-ease); }
.daside__tier-check .icon { font-size: 13px; }
.daside__tier.is-active .daside__tier-check { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-text); }
.daside__adet .qty { --qty-h: var(--control-h-md); }

.daside__amounts { display: flex; flex-wrap: nowrap; gap: 8px; }
.daside__amounts .amount-btn { flex: 1 1 0; min-width: 0; padding: 0 6px; height: var(--control-h-sm); border-radius: var(--radius-pill); font-size: var(--fs-sm); text-align: center; }
.daside__custom { width: 100%; border-radius: var(--radius-pill); }
.daside__freq { display: flex; flex-wrap: nowrap; gap: 8px; }
.daside__freq .pill { flex: 1; justify-content: center; text-align: center; white-space: nowrap; }
.daside__qty { align-self: flex-start; }

.daside__total { display: flex; flex-direction: column; gap: 5px; padding: 15px 20px; border-radius: var(--radius); background: var(--color-tag-bg); }
.daside__total-lbl { font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-muted); }
.daside__total-val { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-h2); line-height: 1; color: var(--color-primary); white-space: nowrap; }
.daside__total-val em { font-style: normal; font-size: var(--fs-sm); font-weight: 600; color: var(--color-text-muted); margin-left: 2px; }
.daside__actions { display: flex; flex-direction: column; gap: 10px; }
.daside__trust { display: flex; align-items: center; gap: 8px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.daside__trust .icon { color: var(--color-primary); }
.daside__pays { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 14px; border-top: 1px solid var(--color-border); }
.daside__pays span { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--color-text-muted); }

.daside--v2 { background: var(--color-dark); border-color: rgba(255,255,255,.14); }
.daside--v2 .daside__head { border-bottom-color: rgba(255,255,255,.14); }
.daside--v2 .daside__title, .daside--v2 .daside__label,
.daside--v2 .daside__tier-name, .daside--v2 .daside__nums strong { color: #fff; }
.daside--v2 .daside__note, .daside--v2 .daside__tier-note, .daside--v2 .daside__unitprice,
.daside--v2 .daside__donors, .daside--v2 .daside__trust,
.daside--v2 .daside__pays span, .daside--v2 .muted { color: rgba(255,255,255,.7); }
.daside--v2 .daside__progress { background: rgba(255,255,255,.07); }
.daside--v2 .daside__pays { border-top-color: rgba(255,255,255,.14); }

.daside--v2 .daside__tier { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); }
.daside--v2 .daside__tier:hover { border-color: rgba(255,255,255,.42); }
.daside--v2 .daside__tier.is-active { background: color-mix(in srgb, var(--color-primary) 20%, transparent);
  border-color: var(--color-primary); box-shadow: none; }
.daside--v2 .daside__tier-check { border-color: rgba(255,255,255,.4); }
.daside--v2 .daside__tier-price { color: var(--color-primary); }
.daside--v2 :is(.pill, .amount-btn) { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.9); }
.daside--v2 :is(.pill, .amount-btn):hover { border-color: var(--color-primary); color: #fff; }
.daside--v2 :is(.pill, .amount-btn).is-active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-text); }
.daside--v2 .input { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.2); color: #fff; }
.daside--v2 .input::placeholder { color: rgba(255,255,255,.45); }

.daside--v2 .qty { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); }
.daside--v2 .qty button { background: rgba(255,255,255,.12); color: #fff; }
.daside--v2 .qty button:hover { background: var(--color-primary); color: var(--color-primary-text); }
.daside--v2 .qty__num { color: #fff; }

.daside--v2 .daside__total { background: var(--color-primary); }
.daside--v2 .daside__total-lbl { color: color-mix(in oklab, var(--color-primary-text) 80%, transparent); }
.daside--v2 .daside__total-val { color: var(--color-primary-text); }
.daside--v2 .daside__total-val em { color: color-mix(in oklab, var(--color-primary-text) 78%, transparent); }
.daside--v2 .btn--outline { border-color: rgba(255,255,255,.45); color: #fff; }
.daside--v2 .btn--outline:hover { border-color: #fff; background: rgba(255,255,255,.1); }

.ddetail__urgent { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: 700; color: var(--color-primary-text); background: var(--color-primary); padding: 4px 12px; border-radius: var(--radius-pill); }

.ddetail__meter { position: relative; overflow: hidden; margin: 6px 0 30px; padding: clamp(20px, 3vw, 26px); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--color-tag-bg), var(--color-surface) 78%); border: 1px solid color-mix(in srgb, var(--color-primary) 16%, var(--color-border)); box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 16px; }

.ddetail__meter::before { content: ""; position: absolute; top: -60px; right: -60px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--color-primary) 16%, transparent), transparent 70%); pointer-events: none; }
.ddetail__meter-top { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ddetail__raised { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ddetail__raised-lbl { font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-muted); }
.ddetail__raised strong { font-family: var(--font-heading); font-size: var(--fs-h1); line-height: 1; color: var(--color-heading); }
.ddetail__raised-goal { font-size: var(--fs-sm); color: var(--color-text-muted); }

.ddetail__ring { flex: none; width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--color-primary) calc(var(--p, 0) * 1%), color-mix(in srgb, var(--color-primary) 16%, var(--color-bg-alt)) 0); }
.ddetail__ring::before { content: ""; grid-area: 1/1; width: 60px; height: 60px; border-radius: 50%; background: var(--color-surface); box-shadow: var(--shadow-soft); }
.ddetail__ring-pct { grid-area: 1/1; z-index: 1; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-h4); color: var(--color-primary); }

.ddetail__track { position: relative; height: 14px; border-radius: var(--radius-pill); background: color-mix(in srgb, var(--color-primary) 12%, var(--color-bg-alt)); overflow: hidden; }
.ddetail__fill { position: relative; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--color-primary), var(--color-primary-dark)); box-shadow: 0 1px 4px color-mix(in srgb, var(--color-primary) 45%, transparent); overflow: hidden; }
.ddetail__fill::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent); transform: translateX(-100%); animation: dd-shimmer 2.6s var(--motion-ease, ease) infinite; }
@keyframes dd-shimmer { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .ddetail__fill::after { animation: none; } }
.ddetail__meter-cap { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: -4px; font-size: var(--fs-sm); }
.ddetail__meter-cap span:first-child { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--color-primary); }
.ddetail__meter-cap span:last-child { color: var(--color-text-muted); }

.ddetail__facts { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 14px; border-top: 1px solid color-mix(in srgb, var(--color-primary) 12%, var(--color-border)); }
.ddetail__fact { flex: 1 1 0; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--color-surface); border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.ddetail__fact-ico { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--color-tag-bg); }
.ddetail__fact-ico .icon { font-size: var(--icon-md); color: var(--color-primary); }
.ddetail__fact-txt { display: flex; flex-direction: column; min-width: 0; }
.ddetail__fact-txt em { font-style: normal; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); color: var(--color-heading); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ddetail__fact-txt small { font-size: var(--fs-xs); color: var(--color-text-muted); }
.ddetail__alloc-list { display: flex; flex-direction: column; gap: 18px; margin: 0; padding: 0; list-style: none; }
.ddetail__alloc-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.ddetail__alloc-label { font-weight: 600; color: var(--color-heading); }
.ddetail__alloc-pct { font-family: var(--font-heading); font-weight: 700; color: var(--color-primary); }
.ddetail__alloc-note { display: block; margin-top: 6px; font-size: var(--fs-sm); color: var(--color-text-muted); }

.drel__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }

@media (max-width: 980px) {
  .pdetail__grid { grid-template-columns: 1fr; }
  .pdetail__side { position: static; }
  .drel__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .ddetail__fact { flex: 1 1 100%; }
  .pdetail__hl-grid { grid-template-columns: 1fr; }
  .drel__grid { grid-template-columns: 1fr; }
}

.ndetail__crumbs { justify-content: center; }

.ndetail__head { max-width: 800px; margin: 22px auto 0; text-align: center; }
.ndetail__kicker { display: inline-block; font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .14em; font-size: var(--fs-xs); font-weight: 700; color: var(--color-primary); margin-bottom: 14px; }
.ndetail__title { font-size: clamp(1.9rem, 1.1rem + 2.6vw, 3rem); line-height: 1.1; letter-spacing: -.01em; color: var(--color-heading); margin-bottom: 16px; }
.ndetail__standfirst { font-size: var(--fs-h4); line-height: 1.5; color: var(--color-text); max-width: 660px; margin: 0 auto 22px; }

.ndetail__dateline { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 18px; padding-top: 18px; border-top: 1px solid var(--color-border); font-size: var(--fs-sm); color: var(--color-text-muted); }
.ndetail__dateline-item { position: relative; }
.ndetail__dateline-item:first-child { font-weight: 700; color: var(--color-heading); }
.ndetail__dateline-item:not(:first-child)::before { content: ""; position: absolute; left: -10px; top: 50%; width: 3px; height: 3px; border-radius: 50%; background: var(--color-primary); transform: translate(-50%, -50%); }

.ndetail__hero { max-width: 980px; margin: 32px auto 0; }
.ndetail__hero img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.ndetail__hero-cap { display: flex; align-items: center; gap: 7px; margin-top: 12px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.ndetail__hero-cap .icon { color: var(--color-primary); }

.ndetail__body-wrap { margin-top: 40px; }
.ndetail__read { position: relative; max-width: 720px; margin-inline: auto; }
.ndetail__rail { position: absolute; top: 0; left: -84px; height: 100%; }
.ndetail__rail-inner { position: sticky; top: 120px; }

.ndetail__content > p { color: var(--color-text); font-size: var(--fs-body); line-height: var(--body-leading, 1.75); }
.ndetail__content > p + p { margin-top: 20px; }

.ndetail__content > p:first-of-type::first-letter { float: left; font-family: var(--font-heading); font-weight: 800; font-size: 3.6em; line-height: .82; padding: 6px 12px 0 0; color: var(--color-primary); }

.ndetail__quote { max-width: 620px; margin: 38px auto; padding: 26px 0 24px; text-align: center; border-top: 2px solid var(--color-primary); border-bottom: 1px solid var(--color-border); }
.ndetail__quote-text { font-family: var(--font-heading); font-style: italic; font-size: var(--fs-h3); line-height: 1.4; color: var(--color-heading); }
.ndetail__quote-cite { display: block; margin-top: 14px; font-style: normal; font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-primary); }

.ndetail__brief { margin: 34px 0; padding: 24px 26px; background: var(--color-bg-alt); border-left: 3px solid var(--color-primary); border-radius: var(--radius); }
.ndetail__brief-h { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .1em; font-size: var(--fs-xs); font-weight: 700; color: var(--color-primary); margin-bottom: 14px; }
.ndetail__brief-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ndetail__brief-list li { position: relative; padding-left: 22px; font-size: var(--fs-body); line-height: 1.55; color: var(--color-text); }
.ndetail__brief-list li::before { content: ""; position: absolute; left: 3px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--color-primary); }
.ndetail__figures { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--color-border); }
.ndetail__figure { display: flex; flex-direction: column; gap: 2px; }
.ndetail__figure-val { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h2); line-height: 1; color: var(--color-primary); }
.ndetail__figure-lbl { font-size: var(--fs-xs); color: var(--color-text-muted); }

.ndetail__read .pdetail__gallery { margin-top: 34px; padding-top: 28px; }
.ndetail__read .pdetail__block-h { font-size: var(--fs-h4); }

.ndetail .detail__media { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 560px) { .ndetail .detail__media { gap: 8px; } }

.ndetail__album.pdetail__block { margin-top: 26px; padding-top: 0; border-top: none; }
.ndetail__album .pdetail__block-h { justify-content: center; }
.ndetail__album .detail__media { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; gap: 14px; }
.ndetail__album .detail__mtile { aspect-ratio: auto; height: 100%; }
.ndetail__album .detail__mtile:first-child { grid-column: span 2; grid-row: span 2; }
@media (max-width: 720px) {
  .ndetail__album .detail__media { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 42vw; }
  .ndetail__album .detail__mtile:first-child { grid-column: span 2; grid-row: span 1; }
}
@media (max-width: 460px) { .ndetail__album .detail__media { grid-auto-rows: 56vw; } }

.ndetail__foot { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--color-border); }
.ndetail__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ntags__chip { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: 600; color: var(--color-text); background: var(--color-bg-alt); padding: 6px 13px; border-radius: var(--radius-pill); transition: color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease); }
.ntags__chip:hover { color: var(--color-primary-text); background: var(--color-primary); }
.ntags__chip .icon { font-size: var(--icon-sm); }

.nshare__btns { display: flex; gap: 10px; }
.nshare--rail { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.nshare--rail .nshare__btns { flex-direction: column; gap: 10px; }
.nshare__rail-lbl { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .1em; font-size: var(--fs-xs); font-weight: 700; color: var(--color-text-muted); writing-mode: vertical-rl; margin-bottom: 4px; }
.nshare--row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.nshare__lbl { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); color: var(--color-heading); }
.nshare__lbl .icon { color: var(--color-primary); }
.nshare__btn { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--color-surface); border: 1px solid var(--color-border); color: var(--color-text); transition: transform var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease), border-color var(--motion-dur) var(--motion-ease); }
.nshare--row .nshare__btn { background: var(--color-bg-alt); border-color: transparent; }
.nshare__btn .icon, .nshare__btn .sicon { font-size: var(--icon-md); }
.nshare__btn:hover { transform: translateY(-3px); color: #fff; border-color: transparent; }
.nshare__btn--fb:hover { background: #1877f2; }
.nshare__btn--x:hover { background: #000; }
.nshare__btn--wa:hover { background: #25d366; }
.nshare__btn--tg:hover { background: #229ed9; }
.nshare__btn--copy:hover { background: var(--color-primary); color: var(--color-primary-text); }

.ndetail__foot .nshare--row { display: none; }
@media (max-width: 1040px) {
  .ndetail__rail { display: none; }
  .ndetail__foot .nshare--row { display: flex; }
}
@media (max-width: 560px) {
  .ndetail__foot { flex-direction: column; align-items: flex-start; }
  .ndetail__foot .nshare--row { width: 100%; justify-content: space-between; }
  .ndetail__quote-text { font-size: var(--fs-h4); }
}

.ndetail--v2 .ndetail__crumbs { justify-content: flex-start; }
.ndetail__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--gap-md); align-items: start; margin-top: 14px; }
.ndetail__col-main { min-width: 0; }
.ndetail__col-main .ndetail__brief, .ndetail__col-main .ndetail__quote { margin-left: 0; margin-right: 0; }
.ndetail__col-main .ndetail__quote { max-width: none; text-align: left; }

.ndetail__kunye { position: sticky; top: var(--sticky-top); align-self: start; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); padding: 24px; }
.nkunye__h { display: flex; align-items: center; gap: 9px; font-size: var(--fs-h4); color: var(--color-heading); padding-bottom: 14px; margin-bottom: 6px; border-bottom: 1px solid var(--color-border); }
.nkunye__h .icon { color: var(--color-primary); }
.nkunye__rows { margin: 0; }
.nkunye__row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--color-border); }
.nkunye__row dt { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.nkunye__row dt .icon { color: var(--color-primary); font-size: var(--icon-sm); }
.nkunye__row dd { margin: 0; font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-sm); color: var(--color-heading); text-align: right; }
.nkunye__figures { display: flex; flex-wrap: wrap; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--color-border); }
.nkunye__figure { display: flex; flex-direction: column; }
.nkunye__figure strong { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h3); line-height: 1; color: var(--color-primary); }
.nkunye__figure span { font-size: var(--fs-xs); color: var(--color-text-muted); }
.nkunye__share { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 16px; }
.nkunye__share-lbl { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .08em; font-size: var(--fs-xs); font-weight: 700; color: var(--color-text-muted); }

@media (max-width: 900px) {
  .ndetail__grid { grid-template-columns: 1fr; }
  .ndetail__kunye { position: static; order: -1; }
}

.ndetail--v3 .ndetail__crumbs { justify-content: flex-start; }
.ndetail__cover { position: relative; margin-top: 14px; border-radius: var(--radius-lg); overflow: hidden; min-height: clamp(340px, 46vw, 520px); display: flex; align-items: flex-end; }
.ndetail__cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ndetail__cover-scrim { position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in srgb, var(--color-overlay) 88%, transparent) 6%, color-mix(in srgb, var(--color-overlay) 40%, transparent) 52%, transparent 84%); }
.ndetail__cover-in { position: relative; width: 100%; max-width: 900px; margin-inline: auto; padding: clamp(26px, 4vw, 48px); }
.ndetail__kicker--light { color: #fff; opacity: .92; }
.ndetail--v3 .ndetail__title { color: #fff; max-width: 820px; }
.ndetail--v3 .ndetail__dateline { justify-content: flex-start; border-top: none; padding-top: 14px; color: rgba(255,255,255,.85); }
.ndetail--v3 .ndetail__dateline-item:first-child { color: #fff; }

.ndetail__flow { max-width: 820px; margin: 0 auto; }
.ndetail__standfirst--flow { text-align: left; max-width: none; margin: 32px 0 0; font-size: var(--fs-h4); line-height: 1.5; color: var(--color-heading); padding-left: 18px; border-left: 3px solid var(--color-primary); }

.ndetail__strip { display: flex; flex-wrap: wrap; gap: 14px; margin: 26px 0 30px; padding: 20px 24px; background: var(--color-bg-alt); border-radius: var(--radius-lg); }
.ndetail__strip-item { flex: 1 1 0; min-width: 120px; display: flex; flex-direction: column; gap: 3px; }
.ndetail__strip-item + .ndetail__strip-item { border-left: 1px solid var(--color-border); padding-left: 20px; }
.ndetail__strip-item strong { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h2); line-height: 1; color: var(--color-primary); }
.ndetail__strip-item span { font-size: var(--fs-sm); color: var(--color-text-muted); }
.ndetail__content--flow > p { color: var(--color-text); font-size: var(--fs-body); line-height: var(--body-leading, 1.75); }
.ndetail__content--flow > p + p { margin-top: 20px; }

.ndetail__cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin: 36px 0 8px; padding: clamp(22px, 3vw, 30px); border-radius: var(--radius-lg); background: linear-gradient(120deg, var(--color-tag-bg), var(--color-surface) 82%); border: 1px solid color-mix(in srgb, var(--color-primary) 16%, var(--color-border)); }
.ndetail__cta-title { font-size: var(--fs-h3); color: var(--color-heading); margin-bottom: 6px; }
.ndetail__cta-desc { font-size: var(--fs-sm); color: var(--color-text-muted); line-height: 1.55; max-width: 46ch; }

@media (max-width: 560px) {
  .ndetail__strip-item { flex: 1 1 100%; }
  .ndetail__strip-item + .ndetail__strip-item { border-left: none; padding-left: 0; border-top: 1px solid var(--color-border); padding-top: 14px; }
  .ndetail__cta { flex-direction: column; align-items: flex-start; }
}

.smap__lead { font-size: var(--fs-h4); line-height: 1.5; color: var(--color-text-muted); margin-top: 12px; }

.smap__grid { counter-reset: smap; display: flex; flex-direction: column; gap: 30px; margin-top: 8px; max-width: 760px; margin-inline: auto; }
.smap__group { min-width: 0; }
.smap__group-h { display: flex; align-items: center; gap: 10px; font-size: var(--fs-h4); color: var(--color-heading); padding-bottom: 14px; margin-bottom: 6px; border-bottom: 2px solid var(--color-primary); }
.smap__group-ico { display: grid; place-items: center; width: 34px; height: 34px; border-radius: var(--radius); background: var(--color-tag-bg); }
.smap__group-ico .icon { font-size: var(--icon-md); color: var(--color-primary); }
.smap__list { margin: 0; padding: 0; list-style: none; }
.smap__item { counter-increment: smap; border-bottom: 1px solid var(--color-border); }
.smap__link { display: flex; align-items: center; gap: 14px; padding: 12px 6px; color: var(--color-text); transition: background var(--motion-dur) var(--motion-ease), padding var(--motion-dur) var(--motion-ease); }
.smap__link:hover { background: var(--color-bg-alt); padding-left: 12px; }

.smap__num { flex: none; display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 6px; border-radius: var(--radius); background: var(--color-bg-alt); font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); color: var(--color-primary); font-variant-numeric: tabular-nums; }
.smap__num::before { content: counter(smap, decimal-leading-zero); }
.smap__link:hover .smap__num { background: var(--color-primary); color: var(--color-primary-text); }
.smap__label { flex: 1; min-width: 0; font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-body); color: var(--color-heading); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.smap__url { flex: none; font-size: var(--fs-md); color: var(--color-text-muted); font-family: var(--font-heading); }
.smap__link:hover .smap__url { color: var(--color-primary); }

@media (max-width: 760px) {
  .smap__grid { gap: 22px; }
}
@media (max-width: 480px) {
  .smap__url { display: none; }
  .smap__label { white-space: normal; }
}

.authcard { width: 100%; max-width: 448px; margin-inline: auto; display: flex; flex-direction: column; gap: 18px; background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-hover); padding: clamp(26px, 4vw, 40px); }
.authcard__logo { display: flex; justify-content: center; }
.authcard__logo img { height: 44px; width: auto; object-fit: contain; }
.authcard__logo span { font-family: var(--font-heading); font-weight: 800; color: var(--color-heading); }

.authtabs { display: flex; gap: 4px; padding: 5px; background: var(--color-bg-alt); border-radius: var(--radius-pill); }
.authtab { flex: 1; text-align: center; padding: 10px 14px; border-radius: var(--radius-pill); font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-md); color: var(--color-text-muted); transition: var(--motion-dur) var(--motion-ease); }
.authtab:hover { color: var(--color-heading); }
.authtab.is-active { background: var(--color-surface); color: var(--color-primary); box-shadow: var(--shadow-soft); }
.authcard__head { display: flex; flex-direction: column; gap: 6px; }
.authcard__title { font-size: var(--fs-h2); line-height: 1.12; color: var(--color-heading); }
.authcard__sub { font-size: var(--fs-body); color: var(--color-text-muted); line-height: 1.5; }

.authform, .authform-wrap { display: flex; flex-direction: column; gap: 16px; }
.authfield { display: flex; flex-direction: column; gap: 7px; }
.authfield__lbl { font-size: var(--fs-md); font-weight: 700; color: var(--color-heading); }
.authfield__lbl em { color: var(--color-primary); font-style: normal; }
.authfield__wrap { position: relative; display: block; }
.authfield__ico { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; color: var(--color-text-muted); pointer-events: none; }
.authfield__ico .icon { font-size: var(--icon-md); }
.authfield .input { width: 100%; }
.input--ico { padding-left: 44px; }
.input--eye { padding-right: 46px; }
.authfield__eye { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--color-text-muted); transition: var(--motion-dur) var(--motion-ease); }
.authfield__eye:hover { color: var(--color-primary); background: var(--color-bg-alt); }
.authfield__help { font-size: var(--fs-xs); color: var(--color-text-muted); }
.authfield .iti { width: 100%; }
.authrow { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.authcheck { display: flex; align-items: center; gap: 9px; font-size: var(--fs-md); color: var(--color-text); cursor: pointer; }
.authcheck input { margin-top: 1px; }
.authcheck--block { line-height: 1.45; }
.authforgot { color: var(--color-primary); font-size: var(--fs-md); font-weight: 700; white-space: nowrap; }
.authback { display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-size: var(--fs-md); font-weight: 600; color: var(--color-text-muted); }
.authback:hover { color: var(--color-primary); }
.authform .btn { margin-top: 2px; }

.authsent { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 24px; background: var(--color-tag-bg); border-radius: var(--radius-lg); }
.authsent__ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--color-surface); color: var(--color-primary); box-shadow: var(--shadow-soft); }
.authsent__ico .icon { font-size: var(--icon-xl); }
.authsent h3 { font-size: var(--fs-h4); color: var(--color-heading); }
.authsent p { font-size: var(--fs-md); color: var(--color-text); line-height: 1.5; }
.authsent .btn { margin-top: 4px; }

.authdivider { display: flex; align-items: center; gap: 14px; color: var(--color-text-muted); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .1em; }
.authdivider::before, .authdivider::after { content: ""; flex: 1; height: 1px; background: var(--color-border); }
.authsocial { display: flex; flex-direction: column; gap: 10px; }
.authsocial__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: var(--control-h-md); border-radius: var(--btn-radius, var(--radius-pill)); border: 1.5px solid var(--color-border); background: var(--color-surface); font-family: var(--font-heading); font-weight: 600; font-size: var(--fs-md); color: var(--color-heading); transition: var(--motion-dur) var(--motion-ease); }
.authsocial__btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.authsocial__btn .icon { font-size: var(--icon-md); }
.authcard__alt { text-align: center; font-size: var(--fs-md); color: var(--color-text); }
.authcard__alt a { color: var(--color-primary); font-weight: 700; }

.authtrust { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin: 0; padding: 0; list-style: none; }
.authtrust li { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--color-text-muted); }
.authtrust .icon { color: var(--color-primary); }

.authmark { position: relative; display: grid; place-items: center; }
.authmark .icon { position: relative; z-index: 1; }
.authmark__ring { position: absolute; border-radius: 50%; border: 2px solid currentColor; opacity: .5; }
.authmark__ring--2 { opacity: .22; }

.auth--split { padding: 0; }
.auth__grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 660px; }
.auth__pane { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 20px; padding: clamp(28px, 4vw, 64px); background: var(--color-bg); }
.auth__pane .authcard { margin: 0; }
.authbrand { position: relative; overflow: hidden; display: flex; align-items: center; color: #fff; order: -1;
  background: linear-gradient(150deg, var(--color-primary-dark) 0%, var(--color-dark) 78%); padding: clamp(34px, 5vw, 80px); }
.authbrand__in { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 20px; max-width: 440px; }
.authbrand__brand { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-md); letter-spacing: .04em; color: rgba(255,255,255,.92); }
.authbrand__brand .icon { color: #fff; font-size: var(--icon-md); }
.authbrand__title { font-size: var(--fs-h1); line-height: 1.16; color: #fff; }
.authbrand__lead { font-size: var(--fs-body); line-height: 1.6; color: rgba(255,255,255,.82); max-width: 40ch; }
.authbrand__stats { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.authbrand__stat { flex: 1; min-width: 92px; padding: 16px; border-radius: var(--radius); background: rgba(255,255,255,.08); backdrop-filter: blur(2px); }
.authbrand__stat strong { display: block; font-family: var(--font-heading); font-size: var(--fs-h2); line-height: 1; color: #fff; }
.authbrand__stat span { font-size: var(--fs-sm); color: rgba(255,255,255,.72); }

.authbrand__mark { position: absolute; top: -70px; right: -70px; width: 340px; height: 340px; color: color-mix(in srgb, var(--color-primary) 55%, #fff); opacity: .16; }
.authbrand__mark .icon { font-size: 150px; }
.authbrand__mark .authmark__ring { width: 240px; height: 240px; }
.authbrand__mark .authmark__ring--2 { width: 340px; height: 340px; }

.auth--center { position: relative; overflow: hidden; background: var(--color-bg); }
.auth__center-in { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 20px; }
.authcard--zone { padding: 0; overflow: hidden; max-width: 476px; }
.authcard__brandtop { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center;
  padding: clamp(28px, 4vw, 40px) clamp(24px, 4vw, 40px) clamp(24px, 3vw, 32px);
  background: linear-gradient(150deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); color: #fff; }
.authcard__logo--light img { filter: brightness(0) invert(1); }
.authcard__logo--light span { color: #fff; }
.authcard__head--light { text-align: center; align-items: center; }
.authcard__head--light .authcard__title { color: #fff; }
.authcard__head--light .authcard__sub { color: rgba(255,255,255,.85); }
.authcard__head--light .eyebrow { color: rgba(255,255,255,.82); }
.authcard__mark { position: absolute; top: -54px; left: -46px; width: 200px; height: 200px; color: #fff; opacity: .14; }
.authcard__mark .icon { font-size: 78px; }
.authcard__mark .authmark__ring { width: 140px; height: 140px; }
.authcard__mark .authmark__ring--2 { width: 200px; height: 200px; }
.authcard__body { display: flex; flex-direction: column; gap: 18px; padding: clamp(24px, 4vw, 36px); }

.auth--minimal { background: var(--color-bg); }
.auth--minimal .auth__minimal-in { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.authcard--flat { position: relative; max-width: 456px; box-shadow: none; border: 1px solid var(--color-border); padding-top: clamp(30px, 4vw, 46px); overflow: hidden; }
.authcard--flat::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--color-primary), var(--color-primary-dark)); }
.authcard--flat .authcard__head { text-align: center; align-items: center; }

@media (max-width: 860px) {
  .auth__grid { grid-template-columns: 1fr; min-height: 0; }
  .authbrand { order: 0; padding: clamp(30px, 8vw, 52px); }
  .auth__pane { padding: clamp(28px, 8vw, 44px); }
  .authbrand__mark { width: 220px; height: 220px; top: -50px; right: -50px; }
  .authbrand__mark .icon { font-size: 96px; }
  .authbrand__mark .authmark__ring { width: 150px; height: 150px; }
  .authbrand__mark .authmark__ring--2 { width: 220px; height: 220px; }
}

.account__grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--gap-md); align-items: start; }

.account__panel { min-width: 0; }
.account__table-wrap { min-width: 0; }
.account__side { padding: 22px; position: sticky; top: var(--sticky-top); }
.account__user { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; margin-bottom: 14px; border-bottom: 1px solid var(--color-border); }
.account__avatar { width: 48px; height: 48px; flex: none; border-radius: 50%; background: var(--color-tag-bg); color: var(--color-primary); display: grid; place-items: center; font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h4); }
.account__id { display: flex; flex-direction: column; min-width: 0; }
.account__id strong { color: var(--color-heading); }
.account__id .muted { font-size: var(--fs-sm); overflow: hidden; text-overflow: ellipsis; }
.account__nav { display: flex; flex-direction: column; gap: 2px; }
.account__link { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: var(--radius-sm); color: var(--color-text); font-family: var(--font-heading); font-weight: 600; transition: var(--motion-dur) var(--motion-ease); }
.account__link .icon { font-size: var(--icon-md); color: var(--color-text-muted); }
.account__link:hover { background: var(--color-bg-alt); color: var(--color-primary); }
.account__link:hover .icon { color: var(--color-primary); }
.account__link.is-active { background: var(--color-primary); color: var(--color-primary-text); }
.account__link.is-active .icon { color: var(--color-primary-text); }
.account__link--out { margin-top: 10px; color: var(--color-text-muted); }
.account__h { font-size: var(--fs-h2); color: var(--color-heading); margin-bottom: 8px; }
.account__lead { color: var(--color-text); margin-bottom: 22px; }
.account__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); margin-bottom: 22px; }
.account__stat { padding: 22px; display: flex; flex-direction: column; gap: 4px; }
.account__stat-ico { font-size: var(--icon-xl); color: var(--color-primary); margin-bottom: 6px; }
.account__stat strong { font-family: var(--font-heading); font-size: var(--fs-h2); color: var(--color-heading); }
.account__stat span:last-child { font-size: var(--fs-sm); color: var(--color-text-muted); }
.account__recent { padding: var(--card-pad); margin-bottom: 22px; }
.account__recent-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.account__recent-head h2 { font-size: var(--fs-h4); color: var(--color-heading); }
.account__table-wrap { padding: 6px var(--card-pad); overflow-x: auto; }
.account__table { width: 100%; border-collapse: collapse; }
.account__table th { text-align: left; font-size: var(--fs-sm); color: var(--color-text-muted); font-weight: 600; padding: 12px 8px; border-bottom: 1px solid var(--color-border); }
.account__table td { padding: 14px 8px; border-bottom: 1px solid var(--color-border); color: var(--color-text); }
.account__table tr:last-child td { border-bottom: none; }
.account__amount { font-family: var(--font-heading); font-weight: 700; color: var(--color-heading); white-space: nowrap; }
.status { display: inline-block; padding: 3px 10px; border-radius: var(--radius-pill); font-size: var(--fs-sm); font-weight: 600; }
.status--done { background: var(--color-tag-bg); color: var(--color-primary-dark); }
.status--pending { background: color-mix(in srgb, var(--color-accent) 20%, transparent); color: var(--color-heading); }
.account__form { padding: var(--card-pad); }

.vform { display: flex; flex-direction: column; gap: var(--gap); }
.vform__card { padding: var(--card-pad); }
.vform__ct { font-family: var(--font-heading); font-weight: 700; color: var(--color-heading); margin-bottom: 16px; }
.vform__group { border: 0; padding: 0; margin: 0 0 22px; }
.vform__group legend { font-size: var(--fs-sm); font-weight: 600; color: var(--color-heading); margin-bottom: 12px; padding: 0; }
.checkgrid { display: grid; gap: 12px 22px; }
.checkgrid--2 { grid-template-columns: repeat(2, 1fr); }
.checkgrid--3 { grid-template-columns: repeat(3, 1fr); }
.vform__days { display: flex; flex-direction: column; gap: 4px; margin-bottom: 22px; }
.checkline { display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; color: var(--color-text); line-height: 1.4; cursor: pointer; }
.checkline input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; }
.field--last { margin-bottom: 0; }
@media (max-width: 720px) { .checkgrid--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .checkgrid--2, .checkgrid--3 { grid-template-columns: 1fr; } }
.account__form-foot { display: flex; align-items: center; gap: 16px; margin-top: 8px; }
.account__saved { display: inline-flex; align-items: center; gap: 6px; color: var(--color-primary); font-weight: 600; }
.account__ok { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 30px; }
.account__ok .icon, .account__saved .icon { color: var(--color-primary); }
.account__ok .icon { font-size: 48px; }
@media (max-width: 860px) {
  .account__grid { grid-template-columns: 1fr; }
  .account__side { position: static; }
  .account__nav { flex-direction: row; flex-wrap: wrap; }
  .account__stats { grid-template-columns: 1fr; }
}

.iti { width: 100%; display: block; }
.field .iti > .input { width: 100%; }

.tbadge { display: flex; align-items: center; gap: 22px; padding: 24px 28px; }
.tbadge__icon { flex: none; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--color-tag-bg); color: var(--color-primary); }
.tbadge__icon .icon { font-size: var(--icon-xl); }
.tbadge__text { flex: 1; min-width: 0; }
.tbadge__title { font-size: var(--fs-h4); color: var(--color-heading); margin-bottom: 4px; }
.tbadge__desc { font-size: var(--fs-body); color: var(--color-text-muted); }
.tbadge__btn { flex: none; }

.trust-badge--v2 .tbadge { flex-direction: column; text-align: center; }
.trust-badge--v2 .tbadge__text { flex: none; }

.trust-badge--v3 .tbadge { background: var(--color-dark); border-color: transparent; }
.trust-badge--v3 .tbadge__icon { background: rgba(255,255,255,.12); color: #fff; }
.trust-badge--v3 .tbadge__title { color: #fff; }
.trust-badge--v3 .tbadge__desc { color: rgba(255,255,255,.8); }

@media (max-width: 640px) {
  .tbadge,
  .trust-badge--v2 .tbadge {
    display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px 14px;

    align-items: start; padding: 16px 18px; text-align: left;
  }
  .tbadge__icon { width: 40px; height: 40px; }
  .tbadge__icon .icon { font-size: var(--icon-lg); }

  .tbadge__text { flex: none; min-width: 0; }

  .tbadge__btn { grid-column: 1 / -1; justify-content: center; }
}

.tabs--wrap { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px; width: 100%; margin-bottom: 28px; padding: 0 0 18px; background: none; box-shadow: none; border-radius: 0; border-bottom: 1px solid var(--color-border); }
.tabs--wrap .tab { flex: 0 0 auto; border: var(--border-width, 1px) solid var(--color-border); background: var(--color-surface); transition: border-color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.tabs--wrap .tab:hover { border-color: var(--color-primary); color: var(--color-primary); }
.tabs--wrap .tab.is-active { border-color: var(--color-primary); background: var(--color-primary); color: var(--color-primary-text); }

@media (max-width: 640px) {
  .tabs--wrap { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 14px; }
  .tabs--wrap::-webkit-scrollbar { display: none; }
  .tabs--wrap .tab { white-space: nowrap; scroll-snap-align: start; }
}
.dgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }

.donate-grid--v2 .container { display: grid; grid-template-columns: 232px minmax(0, 1fr); gap: var(--gap-lg); align-items: start; }
.donate-grid--v2 .section-head { grid-column: 1 / -1; }
.donate-grid--v2 .tabs--wrap { flex-direction: column; align-items: stretch; margin-bottom: 0;
  padding: 0; border-bottom: 0; position: sticky; top: var(--sticky-top); }
.donate-grid--v2 .tabs--wrap .tab { justify-content: flex-start; text-align: left; }
.donate-grid--v2 .dgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.donate-grid--v3 .dgrid { grid-template-columns: 1fr; }
.donate-grid--v3 .dgcard { flex-direction: row; align-items: stretch; }
.donate-grid--v3 .dgcard__media { flex: 0 0 clamp(200px, 26%, 330px); height: auto; }
.donate-grid--v3 .dgcard__body { flex: 1 1 auto; min-width: 0; }

@media (max-width: 900px) {
  .donate-grid--v2 .container { grid-template-columns: 1fr; }
  .donate-grid--v2 .tabs--wrap { flex-direction: row; position: static; padding-bottom: 14px; }
  .donate-grid--v2 .dgrid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
@media (max-width: 640px) {
  .donate-grid--v3 .dgcard { flex-direction: column; }
  .donate-grid--v3 .dgcard__media { flex: none; height: 200px; }
}
.dgcard { display: flex; flex-direction: column; }
.dgcard__media { position: relative; height: 200px; }
.dgcard__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dgcard__tag { position: absolute; top: 12px; left: 12px; }
.dgcard__body { display: flex; flex-direction: column; gap: 12px; padding: var(--card-pad); flex: 1; }
.dgcard__title { font-size: var(--fs-h4); color: var(--color-heading); line-height: 1.25; }
.dgcard__desc { font-size: var(--fs-sm); color: var(--color-text); line-height: 1.5; margin-top: -4px; }
.dgcard__donors { font-size: var(--fs-sm); color: var(--color-text-muted); }

.dgcard__progress { display: flex; flex-direction: column; gap: 8px; }
.dgcard__nums { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; font-size: var(--fs-body); }
.dgcard__nums strong { font-family: var(--font-heading); font-size: var(--fs-h4); color: var(--color-heading); }
.dgcard__pct { margin-left: auto; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-body); color: var(--color-primary); }
.dgcard__bar { height: 8px; border-radius: var(--radius-pill); background: var(--color-bg-alt); overflow: hidden; }
.dgcard__bar span { display: block; height: 100%; background: var(--color-primary); border-radius: inherit; }

.dgcard__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; }
.dgcard__total { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; }
.dgcard__total span { font-size: var(--fs-xs); color: var(--color-text-muted); }
.dgcard__total strong { font-family: var(--font-heading); font-size: var(--fs-h4); color: var(--color-primary); }
@media (max-width: 900px) { .dgrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .dgrid { grid-template-columns: 1fr; } }

.tnote { display: flex; flex-direction: column; gap: 26px; padding: clamp(22px, 3vw, 34px); }
.tnote__label { display: block; font-family: var(--font-heading); font-weight: 700; color: var(--color-heading); margin-bottom: 14px; }
.tnote__label em { font-style: normal; font-weight: 600; color: var(--color-text-muted); font-size: var(--fs-sm); }

.tnote__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.tnote__tile { display: flex; align-items: center; gap: 11px; text-align: left; padding: 12px 14px; background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius); color: var(--color-heading); font-weight: 600; transition: border-color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease); }
.tnote__tile:hover { border-color: var(--color-primary); }
.tnote__tile.is-on { border-color: var(--color-primary); background: var(--color-tag-bg); }
.tnote__tile-ico { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: var(--radius-sm); background: var(--color-tag-bg); color: var(--color-primary); }
.tnote__tile.is-on .tnote__tile-ico { background: var(--color-primary); color: var(--color-primary-text); }
.tnote__tile-ico .icon { font-size: var(--icon-md); }
.tnote__tile-lbl { line-height: 1.25; }

.tnote__field .input { width: 100%; }
.tnote__help { color: var(--color-text-muted); font-size: var(--fs-sm); line-height: var(--body-leading, 1.6); margin-top: 10px; }

.tnote__result { background: var(--color-bg-alt); border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius-lg); padding: clamp(16px, 2.4vw, 24px); }
.tnote__result-lbl { display: block; font-size: var(--fs-xs); letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-muted); font-weight: 700; margin-bottom: 12px; }
.tnote__tag { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; background: var(--color-surface); border: 1px dashed var(--color-primary); border-radius: var(--radius); padding: 14px 16px; }
.tnote__code { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h3); letter-spacing: .06em; color: var(--color-heading); word-break: break-word; min-height: 1.2em; }
.tnote__copy { display: inline-flex; align-items: center; gap: 8px; background: var(--color-primary); color: var(--color-primary-text); font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); padding: 0 18px; height: var(--control-h-sm); border-radius: var(--btn-radius, var(--radius-pill)); white-space: nowrap; transition: background var(--motion-dur) var(--motion-ease); }
.tnote__copy:hover { background: var(--color-primary-dark); }
.tnote__copy.is-ok { background: var(--color-primary-dark); }
.tnote__copy .icon { font-size: var(--icon-sm); }

.tnote__checks { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 16px; }
.tnote__check { display: inline-flex; align-items: center; gap: 7px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.tnote__check .icon { font-size: var(--icon-sm); }
.tnote__check.is-ok .icon { color: var(--color-primary); }
.tnote__check.is-warn { color: var(--color-accent); }
.tnote__check.is-warn .icon { color: var(--color-accent); }
.tnote__check strong { color: var(--color-heading); }

.tnote__foot { display: flex; align-items: flex-start; gap: 9px; color: var(--color-text-muted); font-size: var(--fs-sm); line-height: var(--body-leading, 1.6); }
.tnote__foot .icon { font-size: var(--icon-md); color: var(--color-primary); flex-shrink: 0; margin-top: 1px; }

@media (max-width: 520px) {
  .tnote__tiles { grid-template-columns: 1fr; }
  .tnote__copy { width: 100%; justify-content: center; }
}

.copy-btn { position: relative; }
.copy-btn::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 44px; height: 44px; }

.hero__dot { position: relative; }
.hero__dot::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 24px; height: 44px; }

.qty button, .db__stepper button { width: 38px; height: 38px; }

.authfield__eye, .search__close, .gcard__zoom { min-width: 38px; min-height: 38px; }
@media (max-width: 560px) { .lightbox__nav { width: 38px; height: 38px; } }

.piggy__card { padding: clamp(24px, 4vw, 44px); overflow: visible; }

.piggy.section--dark .piggy__card { background: transparent; box-shadow: none; border: 0; padding: 0; }
.piggy.section--dark .piggy__amount { color: #fff; }
.piggy.section--dark .piggy__reached { color: var(--color-accent); }
.piggy.section--dark .piggy__note { color: rgba(255, 255, 255, .72); }
.piggy.section--dark .piggy__vis-goal { color: rgba(255, 255, 255, .82); }

.piggy.section--dark .amount-btn { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .26); color: #fff; }
.piggy.section--dark .amount-btn:hover { border-color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 20%, transparent); color: #fff; }
.piggy.section--dark .btn--ghost { color: rgba(255, 255, 255, .9); }
.piggy.section--dark .btn--ghost:hover { color: #fff; }

.piggy.section--dark .piggy__jar { background: rgba(255, 255, 255, .08); }
.piggy.section--dark .piggy__jar-amount { color: #fff; }
.piggy.section--dark .piggy__ring { background: conic-gradient(var(--color-primary) var(--fill, 0%), rgba(255, 255, 255, .12) 0); }
.piggy.section--dark .piggy__ring.is-full { background: conic-gradient(var(--color-accent) var(--fill, 100%), rgba(255, 255, 255, .12) 0); }
.piggy.section--dark .piggy__ring::before { background: color-mix(in srgb, var(--color-dark) 82%, #000); box-shadow: inset 0 1px 4px rgba(0, 0, 0, .35); }
.piggy.section--dark .piggy__ring-amount { color: #fff; }

.piggy--v1 .piggy__card, .piggy--v3 .piggy__card { display: grid; grid-template-columns: auto 1fr; gap: clamp(28px, 4vw, 52px); align-items: center; }
.piggy--v2 .piggy__card { display: flex; flex-direction: column; gap: clamp(22px, 3vw, 32px); }

.piggy__visual { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.piggy__vis-goal { font-size: var(--fs-sm); font-weight: 600; }

.piggy__jar { position: relative; width: 168px; height: 200px; border: 3px solid var(--color-primary); border-radius: 22px 22px 28px 28px; background: var(--color-bg-alt); overflow: hidden; box-shadow: inset 0 2px 10px rgba(18,28,22,.07), 0 0 26px -3px color-mix(in srgb, var(--color-primary) 55%, transparent); }
.piggy__jar-slot { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); width: 48px; height: 6px; border-radius: 999px; background: var(--color-primary); opacity: .9; z-index: 3; }
.piggy__jar-fill { position: absolute; left: 0; right: 0; bottom: 0; height: var(--fill, 0%); background: linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 78%, #fff), var(--color-primary)); transition: height .55s var(--motion-ease); z-index: 1; }
.piggy__jar.is-full .piggy__jar-fill { background: linear-gradient(180deg, var(--color-accent), var(--color-primary)); }
.piggy__jar-amount { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 4px; z-index: 2; font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h4); color: var(--color-heading); white-space: nowrap; }

.piggy__ring { position: relative; width: 184px; height: 184px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--color-primary) var(--fill, 0%), var(--color-bg-alt) 0); transition: background .55s var(--motion-ease); box-shadow: 0 0 26px -3px color-mix(in srgb, var(--color-primary) 55%, transparent); }
.piggy__ring.is-full { background: conic-gradient(var(--color-accent) var(--fill, 100%), var(--color-bg-alt) 0); box-shadow: 0 0 30px -2px color-mix(in srgb, var(--color-accent) 60%, transparent); }
.piggy__ring::before { content: ""; position: absolute; inset: 20px; border-radius: 50%; background: var(--color-surface); box-shadow: inset 0 1px 4px rgba(18,28,22,.06); }
.piggy__ring-amount { position: relative; z-index: 1; font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h3); color: var(--color-heading); white-space: nowrap; }

.piggy__jar.is-full { box-shadow: inset 0 2px 10px rgba(18,28,22,.07), 0 0 30px -2px color-mix(in srgb, var(--color-accent) 60%, transparent); }
.piggy .progress__bar { box-shadow: 0 0 14px color-mix(in srgb, var(--color-primary) 60%, transparent); }
.piggy .progress__bar--accent { box-shadow: 0 0 16px color-mix(in srgb, var(--color-accent) 65%, transparent); }

.piggy__main { display: flex; flex-direction: column; gap: 18px; }
.piggy__intro-txt .section-title { font-size: var(--fs-h2); margin: 6px 0 8px; }
.piggy__intro-txt .lead { margin-top: 0; }
.piggy__balance { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.piggy__balance .muted { font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.piggy__amount { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-hero); line-height: 1; color: var(--color-primary-dark); }
.piggy__goal { display: flex; flex-direction: column; gap: 8px; }
.piggy__goal-row { font-size: var(--fs-sm); }
.piggy__reached { display: inline-flex; align-items: center; gap: 6px; color: var(--color-primary-dark); font-weight: 700; }
.piggy__reached .icon { font-size: var(--icon-sm); }
.piggy__adds { display: flex; flex-wrap: wrap; gap: 10px; }
.piggy__add:hover { color: var(--color-primary-dark); }
.piggy__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.piggy__go:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.piggy__note { display: flex; align-items: center; gap: 8px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.piggy__note-ico .icon { font-size: var(--icon-sm); color: var(--color-primary); }
@media (max-width: 620px) {
  .piggy--v1 .piggy__card, .piggy--v3 .piggy__card { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .piggy--v1 .piggy__intro-txt .eyebrow, .piggy--v3 .piggy__intro-txt .eyebrow { justify-content: center; }
  .piggy--v1 .piggy__adds, .piggy--v1 .piggy__actions,
  .piggy--v3 .piggy__adds, .piggy--v3 .piggy__actions { justify-content: center; }
}

.legal__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }

.legal__nav-inner { position: sticky; top: var(--sticky-top); display: flex; flex-direction: column; gap: 12px; padding: 20px 16px; }
.legal__nav-lbl { padding-inline: 10px; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); color: var(--color-text-muted); }
.legal__toc { list-style: none; display: flex; flex-direction: column; gap: 2px;  padding: 0; margin: 0; }
.legal__toc a { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: var(--radius-sm); font-size: var(--fs-md); line-height: 1.35; color: var(--color-text-muted); transition: color var(--motion-dur) var(--motion-ease), background var(--motion-dur) var(--motion-ease); }
.legal__toc a:hover { background: var(--color-bg-alt); color: var(--color-heading); }
.legal__toc a.is-on { background: color-mix(in srgb, var(--color-primary) 10%, transparent); color: var(--color-primary-dark); font-weight: 700; }

.legal__toc-no { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: var(--radius-xs); background: var(--color-bg-alt); font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); color: var(--color-text-muted); transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.legal__toc a:hover .legal__toc-no { color: var(--color-heading); }
.legal__toc a.is-on .legal__toc-no { background: var(--color-primary); color: var(--color-primary-text); }
.legal__nav-note { margin-inline: 10px; padding-top: 12px; border-top: 1px solid var(--color-border); font-size: var(--fs-sm); line-height: 1.5; color: var(--color-text-muted); }
.legal__nav-note a { color: var(--color-primary); text-decoration: underline; }

.legal__doc { padding: var(--card-pad); }
.legal__doc-head { padding-bottom: 26px; border-bottom: 1px solid var(--color-border); }
.legal__lead { font-size: var(--fs-h4); line-height: 1.5; color: var(--color-heading); }

.legal__meta { display: flex; flex-wrap: wrap; gap: 12px clamp(20px, 3vw, 40px); margin-top: 22px; }
.legal__meta-item dt { font-size: var(--fs-xs); letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--color-text-muted); }
.legal__meta-item dd { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); color: var(--color-heading); margin-top: 3px; }

.legal__art { padding-top: 34px; scroll-margin-top: calc(var(--sticky-top) + 16px); }
.legal__art-title { display: flex; align-items: flex-start; gap: 14px; font-size: var(--fs-h4); line-height: 1.3; color: var(--color-heading); margin-bottom: 14px; }

.legal__art-no { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: var(--radius-sm); background: color-mix(in srgb, var(--color-primary) 10%, transparent); color: var(--color-primary-dark); font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-sm); }
.legal__art p { color: var(--color-text); line-height: var(--body-leading); max-width: 72ch; }
.legal__art p + p { margin-top: 12px; }
.legal__list { list-style: none; margin-top: 14px; display: flex; flex-direction: column; gap: 9px; max-width: 72ch; }
.legal__list li { position: relative; padding-left: 22px; color: var(--color-text); line-height: var(--body-leading); }
.legal__list li::before { content: ""; position: absolute; left: 4px; top: calc(var(--body-leading) * .5em - 2px); width: 5px; height: 5px; border-radius: 50%; background: var(--color-primary); }

.legal__doc-foot { display: flex; align-items: flex-start; gap: 10px; margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--color-border); font-size: var(--fs-sm); line-height: var(--body-leading); color: var(--color-text-muted); }
.legal__doc-foot .icon { flex: none; margin-top: 2px; font-size: var(--icon-md); color: var(--color-primary); }
.legal__doc-foot a { color: var(--color-primary); text-decoration: underline; word-break: break-word; }

@media (max-width: 900px) {

  .legal__grid { grid-template-columns: minmax(0, 1fr); }
  .legal__nav-inner { position: static; }
  .legal__toc { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2px 8px; }
}
@media (max-width: 560px) {
  .legal__toc { grid-template-columns: minmax(0, 1fr); }
  .legal__art { padding-top: 28px; }
}

.locs__explorer { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: clamp(20px, 3vw, 36px); align-items: start; }

.locs__rail { position: sticky; top: var(--sticky-top); display: flex; flex-direction: column; gap: 2px; padding: 12px; }
.lrow { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px; border: 0; border-radius: var(--radius-sm); background: transparent; cursor: pointer; text-align: left; transition: background var(--motion-dur) var(--motion-ease); }
.lrow:hover { background: var(--color-bg-alt); }
.lrow.is-on { background: color-mix(in srgb, var(--color-primary) 10%, transparent); }
.lrow__ico { flex: none; display: grid; place-items: center; width: var(--control-h-sm); height: var(--control-h-sm); border-radius: var(--radius-xs); background: var(--color-bg-alt); color: var(--color-text-muted); font-size: var(--icon-md); transition: background var(--motion-dur) var(--motion-ease), color var(--motion-dur) var(--motion-ease); }
.lrow.is-on .lrow__ico { background: var(--color-primary); color: var(--color-primary-text); }
.lrow__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lrow__txt strong { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-md); line-height: 1.25; color: var(--color-heading); }
.lrow__txt small { font-size: var(--fs-sm); color: var(--color-text-muted); }

.lrow__flag { flex: none; margin-left: auto; color: var(--color-accent); font-size: var(--icon-sm); }

.lfile { padding: 0; }
.lfile__media { position: relative; aspect-ratio: 16 / 8; }
.lfile__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lfile__badge { position: absolute; top: 16px; left: 16px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 14px; border-radius: var(--radius-pill); background: var(--color-surface); font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); color: var(--color-heading); box-shadow: var(--shadow-card); }
.lfile__badge .icon { font-size: var(--icon-sm); }
.lfile__badge--active .icon { color: var(--color-primary); }
.lfile__badge--construction .icon,
.lfile__badge--planned .icon { color: var(--color-accent); }

.lfile__body { padding: var(--card-pad); }
.lfile__kind { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-sm); color: var(--color-primary-dark); }
.lfile__kind .icon { font-size: var(--icon-sm); }
.lfile__name { font-size: var(--fs-h3); line-height: 1.2; color: var(--color-heading); margin: 8px 0 12px; }
.lfile__lead { font-size: var(--fs-md); line-height: var(--body-leading); color: var(--color-text); max-width: 68ch; }

.lfile__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 2px; margin: 26px 0; border: 1px solid var(--color-border); border-radius: var(--radius-sm); overflow: hidden; background: var(--color-border); }
.lstat { padding: 16px 18px; background: var(--color-surface); }
.lstat dt { font-size: var(--fs-sm); color: var(--color-text-muted); }
.lstat dd { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-h4); line-height: 1.15; color: var(--color-primary-dark); margin-top: 4px; }

.lfile__meta { display: flex; flex-direction: column; gap: 8px; padding-top: 4px; }
.lfile__meta-row { display: flex; align-items: flex-start; gap: 9px; font-size: var(--fs-sm); line-height: 1.5; color: var(--color-text-muted); }
.lfile__meta-row .icon { flex: none; margin-top: 2px; font-size: var(--icon-sm); color: var(--color-primary); }
.lfile__services { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--color-border); }

.locs__strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--gap-sm); }
.lcard { display: flex; flex-direction: column; color: inherit; }

.lcard__media { position: relative; display: block; height: 150px; }
.lcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lcard__kind { position: absolute; bottom: 10px; left: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: var(--radius-pill); background: var(--color-surface); font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-xs); color: var(--color-heading); box-shadow: var(--shadow-card); }
.lcard__kind .icon { font-size: var(--icon-sm); color: var(--color-primary); }
.lcard__body { display: flex; flex-direction: column; gap: 4px; flex-grow: 1; padding: 14px 16px 16px; }
.lcard__name { font-family: var(--font-heading); font-weight: 700; font-size: var(--fs-md); line-height: 1.25; color: var(--color-heading); }
.lcard__place { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--color-text-muted); }
.lcard__place .icon { font-size: var(--icon-sm); color: var(--color-primary); }

.lcard__stat { display: flex; flex-direction: column; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--color-border); }
.lcard__stat strong { font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-md); line-height: 1.2; color: var(--color-primary-dark); }
.lcard__stat small { font-size: var(--fs-xs); color: var(--color-text-muted); }
.locs__more { display: flex; justify-content: center; margin-top: 26px; }

@media (max-width: 900px) {

  .locs__explorer { grid-template-columns: minmax(0, 1fr); }

  .locs__rail { position: static; flex-direction: row; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; padding: 10px; scroll-snap-type: x proximity; }
  .lrow { flex: 0 0 auto; width: auto; max-width: 62vw; padding: 9px 12px; scroll-snap-align: start; }
  .lrow__txt strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .lrow__txt small { display: none; }
  .lrow__flag { margin-left: 4px; }
  .lfile__media { aspect-ratio: 16 / 9; }
}
@media (max-width: 560px) {
  .lfile__stats { grid-template-columns: minmax(0, 1fr); }
  .lfile__name { font-size: var(--fs-h4); }
}

@media (max-width: 560px) {
  :is(.quick__amounts, .orphan__amounts, .piggy__adds, .dflow__amounts) > :not(template) {

    flex: 1 1 28%; text-align: center; padding-inline: 10px; white-space: nowrap;
  }
}
}
