/* ---------------------------------------------------------------------- *
 * Distributions page (page-distributions.php).
 *
 * Its own file, loaded only on that template, so it can never be half-applied
 * by a cached older theme.css. One layout, two palettes: the colours below are
 * variables, set for light (Clarity) and overridden for dark (Signal) — the
 * dark values are the fund pages' own Signal tokens.
 * ---------------------------------------------------------------------- */

.ss-dist{
	--d-page:#fff;
	--d-card:#f4f2f7;
	--d-line:#e2dee9;
	--d-line-soft:#eae7ef;
	--d-ink:#1a1c22;
	--d-text:#57555f;
	--d-muted:#7d7a85;
	--d-label:#7d7a85;
	--d-accent:#00859a;
	--d-accent-fill:#00abba;
	--d-accent-on:#04262a;
	--d-pos:#316f51;
	--d-none:#9a97a3;
	--d-badge:#2d7abf;
	--d-pill-line:#cfcad8;
	--d-cta-from:#0a1030;
	--d-cta-to:#13243f;
	--d-deep:#f4f2f7;
	background:var(--d-page);
	color:var(--d-text);
}
.ss-dist--dark{
	--d-page:#0a1030;
	--d-card:#141a3a;
	--d-line:#232845;
	--d-line-soft:#1b213f;
	--d-ink:#edeff4;
	--d-text:#c4c9d4;
	--d-muted:#9aa1b0;
	--d-label:#838fa6;
	--d-accent:#00abba;
	--d-accent-fill:#00abba;
	--d-accent-on:#04262a;
	--d-pos:#316f51;
	--d-none:#6b6f78;
	--d-badge:#3f8ccc;
	--d-pill-line:rgba(255,255,255,.22);
	--d-cta-from:#141a3a;
	--d-cta-to:#132443;
	--d-deep:#070b22;
}
.ss-dist *{ box-sizing:border-box; }
.ss-dist h1,.ss-dist h2,.ss-dist p{ margin:0; }

/* The site's one container formula (theme.css §3): side padding lives on the section, the
   content column (.ss-inner) is centered inside it. */
.ss-dist__hero,.ss-dist__sec,.ss-dist__disc{ padding-inline:max(clamp(16px,5vw,44px), calc((100% - var(--content-max, 1152px)) / 2)); }

/* ---- hero ---- */
.ss-dist__hero{ border-bottom:1px solid var(--d-line); padding-block:clamp(40px,3.3vw,62px) clamp(32px,2.6vw,50px); }
.ss-dist__hero-in{ display:grid; grid-template-columns:minmax(0,60%) minmax(0,1fr); align-items:end; column-gap:0; row-gap:28px; }
.ss-dist__hero-text{ min-width:0; }
.ss-dist__eyebrow{ font-size:11.5px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--d-label); }
.ss-dist__h1{ margin-top:18px !important; max-width:9.5em; font-size:clamp(40px,3.75vw,72px); line-height:1; font-weight:700; letter-spacing:-.035em; color:var(--d-ink); }
.ss-dist__lead{ margin-top:22px !important; max-width:30em; font-size:clamp(17px,1.04vw,20px); line-height:1.5; color:var(--d-text); }
.ss-dist__asof{ display:flex; flex-direction:column; gap:10px; padding-bottom:4px; }
.ss-dist__asof .ss-dist__label{ text-transform:none; letter-spacing:.06em; font-weight:500; font-size:11.5px; }
.ss-dist__asof strong{ font-size:clamp(26px,1.8vw,34px); line-height:1; font-weight:700; letter-spacing:-.02em; color:var(--d-ink); font-variant-numeric:tabular-nums; }
.ss-dist__label{ font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--d-label); }

/* ---- sections ---- */
.ss-dist__sec{ padding-block:clamp(36px,4.6vw,60px) 0; }
.ss-dist__sechead{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:22px; }
.ss-dist__sechead h2,.ss-dist__cta h2,.ss-dist__disc h2{ font-size:clamp(24px,1.56vw,30px); line-height:1.1; font-weight:700; letter-spacing:-.02em; color:var(--d-ink); }
.ss-dist__aside{ font-size:12.5px; color:var(--d-muted); }
.ss-dist__aside--left{ margin:-10px 0 18px !important; }
.ss-dist .ss-dist__link{ font-size:12.5px; font-weight:700; letter-spacing:.02em; color:var(--d-accent); text-decoration:none; background:none; border:0; padding:0; cursor:pointer; font-family:inherit; }
.ss-dist .ss-dist__link:hover{ text-decoration:underline; text-underline-offset:3px; }
.ss-dist .ss-dist__link[hidden]{ display:none; }

/* ---- target rates ---- */
.ss-dist__rates{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; background:var(--d-page); border:1px solid var(--d-line); }
.ss-dist__rate{ background:var(--d-card); padding:clamp(18px,1.4vw,26px) clamp(18px,1.3vw,24px) clamp(18px,1.25vw,24px); min-width:0; }
.ss-dist__rate-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ss-dist__rate-top strong{ font-size:18px; font-weight:700; letter-spacing:-.01em; color:var(--d-ink); }
.ss-dist__badge{ padding:3px 9px; border:1px solid color-mix(in srgb, var(--d-badge) 55%, transparent); border-radius:999px; font-size:10px; font-weight:600; letter-spacing:.1em; line-height:1.3; color:var(--d-badge); white-space:nowrap; }
.ss-dist__rate-val{ margin-top:14px !important; font-size:clamp(26px,1.7vw,32px); line-height:1.1; font-weight:700; letter-spacing:-.03em; color:var(--d-pos); }
.ss-dist__rate.is-none .ss-dist__rate-val{ color:var(--d-none); }
.ss-dist__rate.is-none .ss-dist__badge{ border-color:var(--d-line); color:var(--d-muted); }
.ss-dist__rate-note{ margin-top:12px !important; font-size:13px; color:var(--d-text); }

/* ---- declaration history ---- */
.ss-dist__pills{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:26px; }
.ss-dist__pills .ss-dist__label{ margin-right:2px; }
.ss-dist__pill{
	appearance:none; cursor:pointer; font:inherit; font-size:11.5px; font-weight:700; letter-spacing:.08em; line-height:1;
	padding:11px 22px; border-radius:999px; border:1px solid var(--d-pill-line); background:transparent; color:var(--d-text);
	transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.ss-dist__pill:hover{ border-color:var(--d-accent); }
.ss-dist__pill.is-active{ background:var(--d-accent-fill); border-color:var(--d-accent-fill); color:var(--d-accent-on); }
.ss-dist__pill:focus-visible,.ss-dist__more:focus-visible,.ss-dist__link:focus-visible{ outline:2px solid var(--d-accent); outline-offset:3px; }
.ss-dist__fundname{ margin-left:6px; font-size:12.5px; color:var(--d-muted); }

.ss-dist.is-js .ss-dist__panel:not(.is-active){ display:none; }
.ss-dist.is-js .ss-dist__panel[data-expanded="false"] .is-extra{ display:none; }
.ss-dist:not(.is-js) .ss-dist__pills,.ss-dist:not(.is-js) .ss-dist__more{ display:none; }
.ss-dist:not(.is-js) .ss-dist__panel{ margin-bottom:28px; }

.ss-dist__tablewrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-top:1px solid var(--d-line); }
.ss-dist__table{ width:100%; min-width:640px; border-collapse:collapse; }
.ss-dist__table--cal{ min-width:440px; }
.ss-dist__table--cal td{ padding-top:14px; padding-bottom:14px; }
.ss-dist__table th{ padding:16px 12px; font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; text-align:left; color:var(--d-muted); border-bottom:1px solid var(--d-line); white-space:nowrap; }
.ss-dist__table td{ padding:16px 12px; font-size:14px; line-height:1.5; text-align:left; color:var(--d-text); border-bottom:1px solid var(--d-line-soft); font-variant-numeric:tabular-nums; white-space:nowrap; }
.ss-dist__table th.is-num,.ss-dist__table td.is-num{ text-align:right; }
.ss-dist__table td.is-amt{ font-weight:700; color:var(--d-ink); }
.ss-dist__table tbody tr:last-child td{ border-bottom:1px solid var(--d-line-soft); }

.ss-dist .ss-dist__tag,.ss-dist__noticelist .ss-dist__tag{
	display:inline-block; padding:2px 7px; border:1px solid color-mix(in srgb, var(--d-accent) 55%, transparent); border-radius:3px;
	font-size:10px; font-weight:700; letter-spacing:.03em; line-height:1.4; color:var(--d-accent); text-decoration:none;
}
.ss-dist a.ss-dist__tag:hover{ background:color-mix(in srgb, var(--d-accent) 14%, transparent); }
.ss-dist__foot{ margin-top:14px !important; font-size:11.5px; line-height:1.6; color:var(--d-muted); }
.ss-dist__more{
	appearance:none; cursor:pointer; margin-top:22px; font:inherit; font-size:12px; font-weight:700; letter-spacing:.03em;
	padding:12px 22px; border-radius:999px; border:1px solid var(--d-pill-line); background:transparent; color:var(--d-ink);
}
.ss-dist__more:hover{ border-color:var(--d-accent); color:var(--d-accent); }
.ss-dist__empty{ padding:26px 0; font-size:15px; color:var(--d-muted); border-top:1px solid var(--d-line); }

/* ---- calendar + 19(a) notices ---- */
.ss-dist__two{ display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start; }
.ss-dist__two > *{ min-width:0; }
.ss-dist__two > :only-child{ grid-column:1 / -1; }
.ss-dist__noticelist{ list-style:none; margin:0; padding:0; border:1px solid var(--d-line); }
.ss-dist__noticelist li{ display:grid; grid-template-columns:1fr auto; grid-template-areas:"month tag" "funds tag"; column-gap:16px; row-gap:2px; align-items:center; padding:12px 20px; background:var(--d-card); }
.ss-dist__noticelist li + li{ border-top:2px solid var(--d-page); }
.ss-dist__notice-month{ grid-area:month; font-size:14.5px; font-weight:700; color:var(--d-ink); }
.ss-dist__notice-funds{ grid-area:funds; font-size:12px; color:var(--d-muted); }
.ss-dist__notice-funds a{ color:var(--d-muted); text-decoration:none; border-bottom:1px dotted currentColor; }
.ss-dist__notice-funds a:hover{ color:var(--d-accent); }
.ss-dist__noticelist .ss-dist__tag{ grid-area:tag; }

/* the plugin's calendar pop-up, restyled as the section's link */
.ss-dist__modal{ display:contents; }
.ss-dist .ssf-cal-trigger{ appearance:none; cursor:pointer; background:none; border:0; padding:0; margin:0; display:inline-flex; align-items:center; gap:6px; font:inherit; font-size:12.5px; font-weight:700; letter-spacing:.02em; color:var(--d-accent); }
.ss-dist .ssf-cal-trigger:hover{ text-decoration:underline; text-underline-offset:3px; }

/* ---- help panel ---- */
.ss-dist__cta{
	display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; padding:clamp(28px,3.2vw,44px);
	background:radial-gradient(ellipse 60% 140% at 92% -10%, rgba(0,171,186,.2), transparent 70%), linear-gradient(110deg, var(--d-cta-from), var(--d-cta-to));
}
.ss-dist__cta h2{ color:#fff; font-size:clamp(22px,1.46vw,28px); }
.ss-dist__cta p{ margin-top:12px !important; max-width:38em; font-size:clamp(15px,.86vw,16.5px); line-height:1.55; color:#c4c9d4; }
.ss-dist__cta-btns{ display:flex; gap:12px; flex-wrap:wrap; }
.ss-dist__cta .ss-btn{ text-transform:none; letter-spacing:0; font-size:14.5px; font-weight:700; padding:0 26px; min-height:54px; }
.ss-dist__cta .ss-btn--outline-light{ border-color:rgba(255,255,255,.3); }

/* ---- disclosures ---- */
.ss-dist__disc{ margin-top:clamp(44px,5vw,72px); padding-block:clamp(32px,4vw,52px) clamp(36px,4.4vw,56px); background:var(--d-deep); border-top:1px solid var(--d-line); }
.ss-dist__disc h2{ font-size:15px; letter-spacing:-.005em; margin-bottom:14px !important; }
.ss-dist__disc p{ font-size:15px; line-height:1.65; color:var(--d-muted); }
.ss-dist__disc p + p{ margin-top:12px !important; }
.ss-dist__disc strong{ color:var(--d-text); }

/* ---- smaller screens ---- */
@media (max-width:980px){
	.ss-dist__rates{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ss-dist__two{ grid-template-columns:minmax(0,1fr); }
	.ss-dist__hero-in{ grid-template-columns:1fr; }
}
@media (max-width:560px){
	.ss-dist__rates{ grid-template-columns:1fr; }
	.ss-dist__pill{ padding:11px 18px; }
	.ss-dist__fundname{ flex-basis:100%; margin:4px 0 0; }
	.ss-dist__cta-btns .ss-btn{ flex:1 1 100%; justify-content:center; text-align:center; }
}
@media (prefers-reduced-motion:reduce){ .ss-dist *{ transition:none !important; } }

/* Pointer to the disclosures below (under the history table and the 19(a) heading) and the distribution disclosures block. */
.ss-dist__see{ margin-top:16px !important; font-size:14px; line-height:1.6; color:var(--d-muted); }
.ss-dist__aside--left.ss-dist__see{ margin:-6px 0 18px !important; }
.ss-dist__notes{ padding-bottom:0; }
.ss-dist__notes h2{ font-size:clamp(20px,1.4vw,26px); line-height:1.15; font-weight:700; letter-spacing:-.02em; color:var(--d-ink); margin-bottom:14px !important; }
.ss-dist__notes p{ font-size:15px; line-height:1.65; color:var(--d-muted); max-width:1100px; }
.ss-dist__notes p + p{ margin-top:12px !important; }
.ss-dist__notes strong{ color:var(--d-text); }

/* The kind of payment (income / capital gain) beside an amount, for funds that pay once a year. */
.ss-dist__type{ display:block; margin-top:3px; font-size:12px; font-weight:400; line-height:1.3; letter-spacing:0; color:var(--d-muted); }
