/* Advanton Hub front-end. Inherits the theme's fonts; adds a ledger-style fact sheet. */
:root {
	--advh-ink: #1b3047;
	--advh-ledger: #2f6b4f;
	--advh-rule: #d5dce2;
	--advh-tint: #f1f5f3;
	--advh-muted: #5a6672;
}

.advh-facts {
	margin: 0 0 2em;
	padding: 1.1em 1.25em 1em;
	border: 1px solid var(--advh-rule);
	border-left: 5px solid var(--advh-ledger);
	background: #fff;
	color: var(--advh-ink);
}
.advh-facts__grid { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 1.5em; }
.advh-facts__row { padding: .6em 0; border-bottom: 1px solid var(--advh-rule); }
.advh-facts__row dt { margin: 0; font-size: .82em; color: var(--advh-muted); }
.advh-facts__row dd { margin: .15em 0 0; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.35; }
.advh-facts__asof { margin: .8em 0 0; font-size: .82em; color: var(--advh-muted); }
.advh-facts__tags { display: flex; flex-wrap: wrap; gap: .4em; margin-bottom: .6em; }

.advh-tag { display: inline-block; padding: .15em .7em; border-radius: 3px; background: var(--advh-tint); color: var(--advh-ink); font-size: .82em; text-decoration: none; }
a.advh-tag--link { text-decoration: underline; text-underline-offset: 2px; }

.advh-related, .advh-sources { margin-top: 2.5em; padding-top: 1.25em; border-top: 2px solid var(--advh-ink); }
.advh-sources ol { font-size: .9em; }
.advh-sources li { margin-bottom: .35em; }
.advh-sources__reviewed { font-size: .85em; color: var(--advh-muted); }

.advh-ideas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1em; }
.advh-idea { margin: 0; padding: 1em; border: 1px solid var(--advh-rule); background: #fff; }
.advh-idea__title { font-weight: 700; color: var(--advh-ink); }
.advh-idea__summary { margin: .4em 0 .6em; font-size: .92em; }
.advh-idea__numbers { margin: 0; font-size: .82em; color: var(--advh-muted); display: flex; flex-direction: column; gap: .15em; font-variant-numeric: tabular-nums; }

.advh-finder__form { display: flex; flex-wrap: wrap; gap: .75em; align-items: flex-end; padding: 1em; background: var(--advh-tint); margin-bottom: 1em; }
.advh-finder__field { display: flex; flex-direction: column; gap: .25em; font-size: .88em; color: var(--advh-ink); min-width: 170px; flex: 1; }
.advh-finder__field select { padding: .45em; }
.advh-finder__submit { padding: .6em 1.2em; background: var(--advh-ledger); color: #fff; border: 0; cursor: pointer; font-weight: 600; }
.advh-finder__submit:hover { background: var(--advh-ink); }
.advh-finder__submit:focus-visible, .advh-finder__field select:focus-visible { outline: 3px solid var(--advh-ink); outline-offset: 2px; }
.advh-finder__count { font-size: .9em; color: var(--advh-muted); }

.advh-industries { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0; border-top: 1px solid var(--advh-rule); }
.advh-industry { margin: 0; border-bottom: 1px solid var(--advh-rule); }
.advh-industry a { display: flex; flex-direction: column; padding: 1em .25em; text-decoration: none; color: var(--advh-ink); }
.advh-industry a:hover .advh-industry__name, .advh-industry a:focus-visible .advh-industry__name { text-decoration: underline; }
.advh-industry__name { font-weight: 700; }
.advh-industry__size { font-size: 1.6em; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; margin-top: .2em; }
.advh-industry__growth { font-size: .85em; color: var(--advh-ledger); }

.advh-updated { margin: 0 0 1em; font-size: .85em; color: var(--advh-ledger); font-weight: 600; }
.advh-bridge { margin: 2.5em 0 1em; padding: 1em 1.25em; background: var(--advh-tint); border-left: 5px solid var(--advh-ink); color: var(--advh-ink); }
.advh-bridge p { margin: 0; }
.advh-bridge a { color: var(--advh-ledger); font-weight: 600; }
.advh-inject { margin-bottom: 2em; }

/* Calculators */
.advh-tool { display: grid; grid-template-columns: minmax(0, 3fr) minmax(240px, 2fr); gap: 1.5em; align-items: start; margin: 1.5em 0 2em; }
@media (max-width: 720px) { .advh-tool { grid-template-columns: minmax(0, 1fr); } }
.advh-tool fieldset { border: 1px solid var(--advh-rule); padding: 1em 1.1em .4em; margin: 0 0 1em; }
.advh-tool legend { font-weight: 700; color: var(--advh-ink); padding: 0 .3em; }
.advh-tool__field { margin-bottom: .9em; }
.advh-tool__field label { display: block; font-weight: 600; color: var(--advh-ink); font-size: .95em; }
.advh-tool__field input { width: 100%; max-width: 16em; padding: .45em .6em; font-size: 1em; font-variant-numeric: tabular-nums; border: 1px solid #9aa5ae; border-radius: 3px; }
.advh-tool__field input:focus-visible { outline: 3px solid var(--advh-ledger); outline-offset: 1px; }
.advh-tool__hint { display: block; font-size: .8em; color: var(--advh-muted); margin-top: .2em; }
.advh-tool__result { position: sticky; top: 1em; padding: 1.1em 1.25em; border: 1px solid var(--advh-rule); border-left: 5px solid var(--advh-ledger); background: #fff; color: var(--advh-ink); }
.advh-tool__headline { margin: 0 0 .8em; }
.advh-tool__headline span { display: block; font-size: .85em; color: var(--advh-muted); }
.advh-tool__headline strong { display: block; font-size: 2.2em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.advh-tool__lines { margin: 0; }
.advh-tool__lines div { display: flex; justify-content: space-between; gap: 1em; padding: .4em 0; border-top: 1px solid var(--advh-rule); }
.advh-tool__lines dt { font-size: .9em; }
.advh-tool__lines dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.advh-tool__note { margin: .8em 0 0; font-size: .88em; color: var(--advh-muted); }

/* Journey: idea to growth */
.advh-journey { list-style: none; counter-reset: advh-step; margin: 1.5em 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1em; }
.advh-journey__step { counter-increment: advh-step; margin: 0; padding: 1.1em 1.1em 1em; border: 1px solid var(--advh-rule); border-top: 5px solid var(--advh-ledger); background: #fff; color: var(--advh-ink); display: flex; flex-direction: column; }
.advh-journey__step::before { content: counter(advh-step); font-weight: 700; font-size: 1.5em; color: var(--advh-ledger); line-height: 1; margin-bottom: .3em; font-variant-numeric: tabular-nums; }
.advh-journey__title { margin: 0 0 .35em; font-size: 1.15em; }
.advh-journey__step p { margin: 0 0 .8em; font-size: .93em; flex: 1; }
.advh-journey__link { font-weight: 600; color: var(--advh-ledger); }
.advh-more { margin-top: .8em; font-weight: 600; }

/* One-page business plan builder: form beside a live printable sheet when there's room, stacked when there isn't. */
.advh-plan { margin: 1.5em 0 2.5em; color: var(--advh-ink); container-type: inline-size; }
.advh-plan__actions { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; padding: .9em 1em; background: var(--advh-tint); border-left: 5px solid var(--advh-ledger); margin-bottom: 1.25em; }
.advh-plan .advh-plan__actions button.advh-plan__btn { display: inline-block; margin: 0; padding: .55em 1.05em; border: 1px solid var(--advh-ink); border-radius: 0; background: #fff; background-image: none; box-shadow: none; color: var(--advh-ink); font: inherit; font-size: .92em; font-weight: 600; line-height: 1.3; letter-spacing: normal; text-transform: none; text-decoration: none; cursor: pointer; }
.advh-plan .advh-plan__actions button.advh-plan__btn:hover { background: var(--advh-ink); color: #fff; }
.advh-plan .advh-plan__actions button.advh-plan__btn--primary { background: var(--advh-ledger); border-color: var(--advh-ledger); color: #fff; }
.advh-plan .advh-plan__actions button.advh-plan__btn--primary:hover { background: var(--advh-ink); border-color: var(--advh-ink); }
.advh-plan .advh-plan__actions button.advh-plan__btn--quiet { border-color: transparent; background: transparent; color: var(--advh-ink); text-decoration: underline; font-weight: 400; }
.advh-plan .advh-plan__actions button.advh-plan__btn--quiet:hover { background: transparent; color: var(--advh-ledger); }
.advh-plan .advh-plan__actions button.advh-plan__btn:focus-visible, .advh-plan__jump:focus-visible, .advh-plan__form input:focus-visible, .advh-plan__form textarea:focus-visible, .advh-plan__sheet:focus-visible { outline: 3px solid var(--advh-ledger); outline-offset: 2px; }
.advh-plan__jump { display: none; margin-left: auto; color: var(--advh-ledger); font-weight: 600; font-size: .92em; }
.advh-plan__status { flex-basis: 100%; margin: .35em 0 0; font-size: .85em; color: var(--advh-muted); }

.advh-plan__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 1.75em; align-items: start; }
.advh-plan__preview { position: sticky; top: 1.5em; }
@container (max-width: 860px) {
	.advh-plan__layout { grid-template-columns: minmax(0, 1fr); }
	.advh-plan__preview { position: static; }
	.advh-plan__jump { display: inline-block; }
}
.advh-plan__form fieldset { border: 1px solid var(--advh-rule); padding: 1em 1.1em .5em; margin: 0 0 1.1em; min-width: 0; }
.advh-plan__form legend { font-weight: 700; padding: 0 .35em; font-size: 1em; }
.advh-plan__legend-note { margin: 0 0 .75em; font-size: .85em; color: var(--advh-muted); }
.advh-plan__form .advh-tool__field { display: flex; flex-direction: column; gap: .25em; margin-bottom: .9em; }
.advh-plan__form label { font-weight: 600; font-size: .92em; margin: 0; }
.advh-plan__form .advh-tool__hint { font-size: .82em; color: var(--advh-muted); }
.advh-plan__form input, .advh-plan__form textarea { width: 100%; max-width: 100%; box-sizing: border-box; margin: 0; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; color: var(--advh-ink); background: #fff; }
.advh-plan__form textarea { resize: vertical; line-height: 1.45; }
.advh-plan__count { align-self: flex-end; font-size: .78em; color: var(--advh-muted); font-variant-numeric: tabular-nums; }
.advh-plan__count.is-near { color: #8a4b0f; }
.advh-plan__milestone { display: grid; grid-template-columns: minmax(0, 2fr) minmax(130px, 1fr); gap: .75em; }
@container (max-width: 520px) { .advh-plan__milestone { grid-template-columns: minmax(0, 1fr); gap: 0; } }

.advh-plan__sheet { background: #fff; border: 1px solid var(--advh-rule); border-top: 6px solid var(--advh-ledger); padding: 1.6em 1.7em 1.2em; font-size: .9em; line-height: 1.45; box-shadow: 0 1px 0 var(--advh-rule), 0 12px 28px -18px rgba(27, 48, 71, .45); scroll-margin-top: 1em; }
.advh-plan__head { border-bottom: 2px solid var(--advh-ink); padding-bottom: .8em; margin-bottom: 1em; }
.advh-plan__kicker { margin: 0 0 .2em; font-size: .82em; color: var(--advh-ledger); font-weight: 700; }
.advh-plan__sheet h2 { margin: 0; font-size: 1.75em; line-height: 1.15; color: var(--advh-ink); overflow-wrap: anywhere; }
.advh-plan__tagline { margin: .35em 0 0; font-size: 1.05em; }
.advh-plan__meta { margin: .45em 0 0; font-size: .82em; color: var(--advh-muted); display: flex; flex-wrap: wrap; gap: 0 1.2em; }
.advh-plan__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9em 1.4em; }
@container (max-width: 520px) { .advh-plan__grid { grid-template-columns: minmax(0, 1fr); } }
.advh-plan__sheet h3 { margin: 0 0 .25em; font-size: .8em; line-height: 1.3; color: var(--advh-ledger); letter-spacing: .01em; }
.advh-plan__sec p { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
.advh-plan__sheet .is-empty { color: #9aa5b0; font-style: italic; }
.advh-plan__numbers { margin: 1.1em 0; padding: .8em 0; border-top: 1px solid var(--advh-rule); border-bottom: 1px solid var(--advh-rule); }
.advh-plan__numbers dl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5em; margin: 0; }
@container (max-width: 620px) { .advh-plan__numbers dl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.advh-plan__numbers dl > div { margin: 0; }
.advh-plan__sheet .advh-plan__numbers dt { margin: 0; font-size: .75em; color: var(--advh-muted); font-weight: 400; }
.advh-plan__sheet .advh-plan__numbers dd { margin: .1em 0 0; padding: 0; font-weight: 700; font-size: 1.1em; font-variant-numeric: tabular-nums; }
.advh-plan__sheet .advh-plan__numbers dd.is-negative { color: #a12c2c; }
.advh-plan__numnote { margin: .5em 0 0; font-size: .82em; color: var(--advh-muted); }
.advh-plan__grid--foot ol { margin: 0; padding-left: 1.2em; }
.advh-plan__grid--foot li { margin: 0 0 .2em; }
.advh-plan__when { display: block; font-size: .85em; color: var(--advh-muted); }
.advh-plan__foot { margin-top: 1.1em; padding-top: .6em; border-top: 1px solid var(--advh-rule); font-size: .72em; color: var(--advh-muted); }

/* Online presence checkup: reuses the plan builder's layout, buttons and print setup. */
.advh-chk__name { margin-bottom: 1.1em; }
.advh-chk__form fieldset { border: 1px solid var(--advh-rule); padding: .8em 1.1em .5em; margin: 0 0 1.1em; min-width: 0; }
.advh-chk__form legend { font-weight: 700; padding: 0 .35em; font-size: 1em; }
.advh-chk__form .advh-tool__field { display: flex; flex-direction: column; gap: .25em; }
.advh-chk__form .advh-tool__field label { font-weight: 600; font-size: .92em; margin: 0; }
.advh-chk__form .advh-tool__field input { width: 100%; max-width: 100%; box-sizing: border-box; margin: 0; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; color: var(--advh-ink); background: #fff; }
.advh-chk__form .advh-tool__field input:focus-visible { outline: 3px solid var(--advh-ledger); outline-offset: 2px; }
.advh-chk__q { padding: .7em 0 .8em; border-top: 1px solid var(--advh-rule); }
.advh-chk__q:first-of-type { border-top: 0; padding-top: .2em; }
.advh-chk__text { margin: 0 0 .5em; font-weight: 600; font-size: .95em; line-height: 1.4; }
.advh-chk__opts { display: flex; flex-wrap: wrap; gap: .4em; }
.advh-chk__opts .advh-chk__opt { position: relative; display: inline-block; margin: 0; padding: 0; cursor: pointer; font-weight: 400; }
.advh-chk__opts .advh-chk__opt input[type="radio"] { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; -webkit-appearance: none; appearance: none; }
.advh-chk__opts .advh-chk__opt input[type="radio"]::before, .advh-chk__opts .advh-chk__opt input[type="radio"]::after { display: none; content: none; }
.advh-chk__opt span { display: inline-block; min-width: 4.5em; padding: .4em .9em; border: 1px solid #aeb8c2; background: #fff; color: var(--advh-ink); font-size: .9em; text-align: center; }
.advh-chk__opt:hover span { border-color: var(--advh-ink); }
.advh-chk__opt input:focus-visible + span { outline: 3px solid var(--advh-ledger); outline-offset: 2px; }
.advh-chk__opt input:checked + span { background: var(--advh-ink); border-color: var(--advh-ink); color: #fff; font-weight: 600; }
.advh-chk__opt input[value="yes"]:checked + span { background: var(--advh-ledger); border-color: var(--advh-ledger); }
.advh-chk__q.is-answered .advh-chk__text { color: var(--advh-muted); }

.advh-chk__score { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4em 1em; margin-bottom: .9em; }
.advh-chk__big { margin: 0; line-height: 1; }
.advh-chk__big strong { font-size: 3.4em; color: var(--advh-ledger); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.advh-chk__big span { font-size: .95em; color: var(--advh-muted); margin-left: .3em; }
.advh-chk__band { margin: 0; flex: 1 1 14em; font-weight: 600; }
.advh-chk__bars { margin: 0 0 1em; padding: .7em 0; border-top: 1px solid var(--advh-rule); border-bottom: 1px solid var(--advh-rule); display: grid; gap: .45em; }
.advh-chk__bar { display: grid; grid-template-columns: minmax(8em, 11em) 1fr; gap: .8em; align-items: center; margin: 0; }
.advh-plan__sheet .advh-chk__bar dt { margin: 0; font-size: .82em; font-weight: 400; }
.advh-plan__sheet .advh-chk__bar dd { margin: 0; padding: 0; display: flex; align-items: center; gap: .6em; }
.advh-chk__track { flex: 1; height: .55em; background: var(--advh-tint); border: 1px solid var(--advh-rule); }
.advh-chk__fill { display: block; height: 100%; background: var(--advh-ledger); }
.advh-chk__pts { min-width: 3.4em; text-align: right; font-size: .8em; color: var(--advh-muted); font-variant-numeric: tabular-nums; }
@container (max-width: 420px) { .advh-chk__bar { grid-template-columns: minmax(0, 1fr); gap: .2em; } }
.advh-chk__plan h3 { margin: 0 0 .3em; }
.advh-chk__plan h4 { margin: .7em 0 .25em; font-size: .85em; color: var(--advh-ink); }
.advh-chk__plan ol { margin: 0; padding-left: 1.4em; }
.advh-chk__plan li { margin: 0 0 .35em; }
.advh-chk__check { font-weight: 700; color: #8a4b0f; }
.advh-chk__guide { display: inline-block; font-size: .85em; color: var(--advh-ledger); }
.advh-chk__more { margin: .6em 0 0; font-size: .85em; color: var(--advh-muted); }
@media print {
	#advh-plan-print .advh-chk__fill, #advh-plan-print .advh-chk__track { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	#advh-plan-print .advh-chk__big strong { font-size: 24pt; }
	#advh-plan-print .advh-chk__sheet { font-size: 8pt; line-height: 1.28; }
	#advh-plan-print .advh-chk__sheet h2 { font-size: 15pt; }
	#advh-plan-print .advh-chk__track { height: .45em; }
	#advh-plan-print .advh-chk__sheet .advh-plan__head { padding-bottom: .35em; margin-bottom: .5em; }
	#advh-plan-print .advh-chk__sheet .advh-plan__foot { display: none; }
	#advh-plan-print .advh-chk__plan h3 { margin-bottom: .15em; }
	#advh-plan-print .advh-chk__guide { color: var(--advh-muted); }
	#advh-plan-print .advh-chk__plan li { break-inside: avoid; margin-bottom: .2em; }
	#advh-plan-print .advh-chk__score { margin-bottom: .4em; }
	#advh-plan-print .advh-chk__bars { padding: .4em 0; margin-bottom: .6em; gap: .25em; }
	#advh-plan-print .advh-chk__plan ol { column-count: 2; column-gap: 1.6em; }
	#advh-plan-print .advh-chk__plan h4 { margin: .45em 0 .15em; }
	#advh-plan-print .advh-chk__guide { display: block; font-size: .8em; }
	#advh-plan-print a::after, #advh-plan-print a::before { content: none !important; }
}

/* Review request kit */
.advh-rk__form fieldset { border: 1px solid var(--advh-rule); padding: 1em 1.1em .6em; margin: 0 0 1.4em; min-width: 0; }
.advh-rk__form legend { font-weight: 700; padding: 0 .35em; font-size: 1em; }
.advh-rk__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.2em; }
@container (max-width: 620px) { .advh-rk__grid { grid-template-columns: minmax(0, 1fr); } }
.advh-rk .advh-tool__field { display: flex; flex-direction: column; gap: .25em; margin-bottom: .9em; }
.advh-rk .advh-tool__field label { font-weight: 600; font-size: .92em; margin: 0; }
.advh-rk .advh-tool__hint { font-size: .82em; color: var(--advh-muted); }
.advh-rk .advh-tool__field input { width: 100%; max-width: 100%; box-sizing: border-box; margin: 0; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; color: var(--advh-ink); background: #fff; }
.advh-rk .advh-tool__field input:focus-visible { outline: 3px solid var(--advh-ledger); outline-offset: 2px; }
.advh-rk__tone { display: flex; flex-wrap: wrap; align-items: center; gap: .4em; margin: .2em 0 .6em; }
/* Fieldsets default to never shrinking below their content; let them fit narrow screens. */
.advh-plan fieldset, .advh-rk__form fieldset, .advl-form fieldset { min-width: 0; max-width: 100%; box-sizing: border-box; }
.advh-plan input, .advh-plan select, .advh-plan textarea { max-width: 100%; }
.advh-rk__tonelabel { font-weight: 600; font-size: .92em; margin-right: .4em; }
.advh-rk__tone .advh-chk__opt { position: relative; display: inline-block; margin: 0; padding: 0; cursor: pointer; }
.advh-rk__tone .advh-chk__opt input[type="radio"] { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; -webkit-appearance: none; appearance: none; }
.advh-rk__linkwarn { margin: 0 0 .6em; color: #a12c2c; font-size: .88em; font-weight: 600; }

.advh-rk__out { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.75em; align-items: start; }
@container (max-width: 860px) { .advh-rk__out { grid-template-columns: minmax(0, 1fr); } }
.advh-rk__h { font-size: 1.15em; margin: 0 0 .6em; }
.advh-rk__msgs .advh-rk__h:not(:first-child) { margin-top: 1.4em; }
.advh-rk__msg { border: 1px solid var(--advh-rule); border-left: 4px solid var(--advh-ledger); background: #fff; padding: .8em 1em; margin-bottom: .9em; }
.advh-rk__msghead { display: flex; align-items: center; justify-content: space-between; gap: 1em; }
.advh-rk__msghead h3 { margin: 0; font-size: .98em; }
.advh-plan .advh-rk__msghead button.advh-plan__btn { margin: 0; padding: .35em .9em; border: 1px solid var(--advh-ink); border-radius: 0; background: #fff; color: var(--advh-ink); font: inherit; font-size: .85em; font-weight: 600; text-transform: none; letter-spacing: normal; cursor: pointer; }
.advh-plan .advh-rk__msghead button.advh-plan__btn:hover { background: var(--advh-ink); color: #fff; }
.advh-plan .advh-rk__msghead button.advh-plan__btn:focus-visible { outline: 3px solid var(--advh-ledger); outline-offset: 2px; }
.advh-rk__note { margin: .35em 0 0; font-size: .82em; color: var(--advh-muted); }
.advh-rk__text { margin: .6em 0 0; padding: .7em .8em; background: var(--advh-tint); border: 0; font: inherit; font-size: .9em; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--advh-ink); }
.advh-rk__count { margin: .3em 0 0; font-size: .78em; color: var(--advh-muted); }
.advh-rk__count:empty { display: none; }

.advh-rk__cardwrap { position: sticky; top: 1.5em; }
@container (max-width: 860px) { .advh-rk__cardwrap { position: static; } }
.advh-rk__card { margin-top: .4em; padding: 1.4em 1.2em 1.1em; background: #fff; border: 2px solid var(--advh-ink); text-align: center; color: var(--advh-ink); max-width: 340px; }
.advh-rk__cardhead { margin: 0; font-size: 1.45em; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.advh-rk__cardsub { margin: .3em 0 .8em; font-size: .92em; }
.advh-rk__qr { width: 62%; max-width: 200px; margin: 0 auto; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; }
.advh-rk__qr svg { width: 100%; height: 100%; display: block; }
.advh-rk__qrempty { margin: 0; padding: 1em; border: 1px dashed #aeb8c2; font-size: .82em; color: var(--advh-muted); }
.advh-rk__cardbiz { margin: .8em 0 0; padding-top: .6em; border-top: 1px solid var(--advh-rule); font-weight: 700; color: var(--advh-ledger); overflow-wrap: anywhere; }

/* Box on guides pointing to a related free tool */
.advh-callout p { margin: 0; }
.advh-callout a { white-space: nowrap; }

/* Business directory: submission form */
.advl-form { margin: 1.5em 0 2.5em; color: var(--advh-ink); }
.advl-form fieldset { border: 1px solid var(--advh-rule); padding: 1em 1.1em .5em; margin: 0 0 1.2em; min-width: 0; }
.advl-form legend { font-weight: 700; padding: 0 .35em; font-size: 1.05em; }
.advl-field { display: flex; flex-direction: column; gap: .25em; margin-bottom: .95em; }
.advl-form label { font-weight: 600; font-size: .93em; margin: 0; }
.advl-req { font-weight: 400; color: var(--advh-muted); font-size: .9em; }
.advl-hint { font-size: .84em; color: var(--advh-muted); }
.advl-form input[type="text"], .advl-form input[type="email"], .advl-form input[type="url"], .advl-form input[type="tel"], .advl-form select, .advl-form textarea { width: 100%; max-width: 100%; box-sizing: border-box; margin: 0; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; color: var(--advh-ink); background: #fff; }
.advl-form input[type="file"] { font-size: .9em; }
.advl-form textarea { resize: vertical; line-height: 1.5; }
.advl-form :focus-visible { outline: 3px solid var(--advh-ledger); outline-offset: 2px; }
.advl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.2em; }
.advl-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 700px) { .advl-grid, .advl-grid--3 { grid-template-columns: minmax(0, 1fr); } }
.advl-check { margin: 0 0 .8em; }
.advl-check label { display: flex; gap: .55em; align-items: flex-start; font-weight: 400; line-height: 1.45; }
.advl-check input { margin-top: .25em; flex: 0 0 auto; width: 1.05em; height: 1.05em; }
.advl-count { align-self: flex-end; font-size: .8em; color: var(--advh-muted); font-variant-numeric: tabular-nums; }
.advl-count.is-short { color: #8a4b0f; }
.advl-file { font-size: .82em; color: var(--advh-muted); }
.advl-file.is-error { color: #a12c2c; font-weight: 600; }
.advl-trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.advl-submit { margin: 1em 0 .4em; }
button.advl-btn, .advl-form button.advl-btn, .advl-dir button.advl-btn { display: inline-block; margin: 0; padding: .7em 1.4em; border: 1px solid var(--advh-ledger); border-radius: 0; background: var(--advh-ledger); color: #fff; font: inherit; font-weight: 700; text-transform: none; letter-spacing: normal; cursor: pointer; }
button.advl-btn:hover { background: var(--advh-ink); border-color: var(--advh-ink); color: #fff; }
button.advl-btn:disabled { opacity: .65; cursor: progress; }
.advl-notice { margin: 1.2em 0; padding: .9em 1.1em; border-left: 5px solid var(--advh-ledger); background: var(--advh-tint); color: var(--advh-ink); }
.advl-notice p { margin: 0 0 .4em; }
.advl-notice ul { margin: .3em 0 0 1.2em; }
.advl-notice--err { border-left-color: #a12c2c; background: #fbf0ef; }
.advl-notice:focus { outline: 3px solid #a12c2c; outline-offset: 2px; }

/* Business directory: listing page */
.advl-listing { color: var(--advh-ink); }
.advl-listing__head { display: flex; gap: 1.2em; align-items: center; margin-bottom: 1.2em; }
.advl-listing .advl-listing__head img.advl-listing__logo { width: 96px !important; height: 96px !important; max-width: 96px !important; object-fit: contain; border: 1px solid var(--advh-rule); background: #fff; padding: 6px; flex: 0 0 96px; box-sizing: border-box; }
.advl-listing__tagline { margin: 0; font-size: 1.15em; font-weight: 600; }
.advl-listing__meta { margin: .35em 0 0; display: flex; flex-wrap: wrap; gap: .3em 1em; font-size: .9em; color: var(--advh-muted); }
.advl-listing__photo { margin: 0 0 1.4em; }
.advl-listing__photo img { width: 100%; height: auto; max-height: 480px; object-fit: cover; display: block; }
.advl-listing__body { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 2em; align-items: start; }
@media (max-width: 760px) { .advl-listing__body { grid-template-columns: minmax(0, 1fr); } }
.advl-listing__about h2, .advl-listing__contact h2 { font-size: 1.2em; margin: 0 0 .6em; }
.advl-listing__contact { padding: 1em 1.1em; background: var(--advh-tint); border-top: 4px solid var(--advh-ledger); }
.advl-listing__contact dl { margin: 0; }
.advl-listing__contact dt { margin: .7em 0 0; font-size: .8em; font-weight: 700; color: var(--advh-muted); }
.advl-listing__contact dt:first-child { margin-top: 0; }
.advl-listing .advl-listing__contact dd { margin: .15em 0 0 !important; padding: 0; overflow-wrap: anywhere; }
.advl-pre { white-space: pre-line; }
.advl-social { list-style: none; margin: 0; padding: 0; }
.advl-listing__foot { margin-top: 2em; padding-top: 1em; border-top: 1px solid var(--advh-rule); font-size: .88em; color: var(--advh-muted); }
.advl-listing__foot p { margin: 0 0 .4em; }
.advl-badge { display: inline-block; padding: .1em .55em; background: var(--advh-ledger); color: #fff; font-size: .78em; font-weight: 700; letter-spacing: .02em; }

/* Business directory: browse page */
.advl-dir { color: var(--advh-ink); margin: 1.2em 0 2em; }
.advl-dir.alignwide, .advl-form.alignwide { box-sizing: border-box; }
.advl-dir__filters { display: grid; grid-template-columns: 1.4fr 1fr 1fr auto; gap: .3em .8em; align-items: end; padding: 1em; background: var(--advh-tint); border-left: 5px solid var(--advh-ledger); margin-bottom: 1.4em; }
.advl-dir__filters label { grid-row: 1; font-size: .85em; font-weight: 600; margin: 0; }
.advl-dir__filters input, .advl-dir__filters select { grid-row: 2; width: 100%; box-sizing: border-box; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; background: #fff; color: var(--advh-ink); margin: 0; }
.advl-dir__filters button { grid-row: 2; }
@media (max-width: 720px) { .advl-dir__filters { grid-template-columns: minmax(0, 1fr); } .advl-dir__filters label, .advl-dir__filters input, .advl-dir__filters select, .advl-dir__filters button { grid-row: auto; } }
.advl-dir__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1em; }
.advl-card { margin: 0; }
.advl-card__link { display: flex; gap: .9em; height: 100%; box-sizing: border-box; padding: .9em 1em; background: #fff; border: 1px solid var(--advh-rule); color: var(--advh-ink); text-decoration: none; position: relative; }
.advl-card__link:hover, .advl-card__link:focus-visible { border-color: var(--advh-ink); }
.advl-card.is-featured .advl-card__link { border: 2px solid var(--advh-ledger); }
.advl-card .advl-card__logo { width: 64px !important; height: 64px !important; max-width: 64px !important; object-fit: contain; flex: 0 0 64px; border: 1px solid var(--advh-rule); background: #fff; }
.advl-card__logo--blank { display: block; background: var(--advh-tint); }
.advl-card__body { display: flex; flex-direction: column; gap: .2em; min-width: 0; }
.advl-card__name { font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.advl-card__meta { font-size: .82em; color: var(--advh-muted); }
.advl-card__tagline { font-size: .9em; line-height: 1.4; }
.advl-card .advl-badge { position: absolute; top: .6em; right: .6em; }
.advl-card.is-featured .advl-card__body { padding-right: 5.4em; }
.advl-dir__pages { display: flex; gap: 1em; align-items: center; margin-top: 1.4em; }
.advl-dir__empty, .advl-dir__cta { margin-top: 1.2em; }

/* Business owner dashboard */
.advl-dash { color: var(--advh-ink); margin: 1.2em 0 2.5em; }
.advl-dash--login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2em; align-items: start; }
@media (max-width: 760px) { .advl-dash--login { grid-template-columns: minmax(0, 1fr); } }
.advl-dash__login, .advl-dash__pitch { padding: 1.2em 1.3em; border: 1px solid var(--advh-rule); background: #fff; }
.advl-dash__pitch { background: var(--advh-tint); border-left: 5px solid var(--advh-ledger); }
.advl-dash h2 { font-size: 1.3em; margin: 0 0 .6em; }
.advl-dash__login form p { display: flex; flex-direction: column; gap: .25em; margin: 0 0 .9em; }
.advl-dash__login form .login-remember { flex-direction: row; }
.advl-dash__login input[type="text"], .advl-dash__login input[type="password"] { width: 100%; box-sizing: border-box; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; }
.advl-dash__login input[type="submit"] { padding: .6em 1.3em; border: 1px solid var(--advh-ledger); border-radius: 0; background: var(--advh-ledger); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
a.advl-btnlink { display: inline-block; padding: .55em 1.1em; background: var(--advh-ledger); color: #fff; font-weight: 700; text-decoration: none; }
a.advl-btnlink:hover { background: var(--advh-ink); color: #fff; }
.advl-dash__head { display: flex; flex-wrap: wrap; gap: .8em 1.5em; align-items: flex-end; justify-content: space-between; border-bottom: 2px solid var(--advh-ink); padding-bottom: .7em; }
.advl-dash__kicker { margin: 0; font-size: .82em; color: var(--advh-ledger); font-weight: 700; }
.advl-dash__head h2 { margin: .1em 0 0; font-size: 1.6em; }
.advl-dash__switch { display: flex; gap: .5em; align-items: center; font-size: .9em; }
.advl-dash__switch select { padding: .35em .5em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; }
.advl-dash__logout { font-size: .9em; }
.advl-dash__nav { display: flex; flex-wrap: wrap; gap: .3em; margin: 1em 0 1.3em; }
.advl-dash__nav a { padding: .5em 1em; border: 1px solid var(--advh-rule); background: #fff; color: var(--advh-ink); text-decoration: none; font-weight: 600; font-size: .93em; }
.advl-dash__nav a:hover { border-color: var(--advh-ink); }
.advl-dash__nav a[aria-current="page"] { background: var(--advh-ink); border-color: var(--advh-ink); color: #fff; }
.advl-dash__count { display: inline-block; margin-left: .3em; padding: 0 .45em; background: #a12c2c; color: #fff; font-size: .8em; }
.advl-dash h3 { font-size: 1.05em; margin: 1.4em 0 .6em; }
.advl-dash__status p { margin: 0 0 .6em; }
.advl-pill { display: inline-block; padding: .1em .55em; margin-right: .4em; border: 1px solid var(--advh-rule); background: var(--advh-tint); font-size: .8em; font-weight: 700; color: var(--advh-ink); }
.advl-pill--live { background: var(--advh-ledger); border-color: var(--advh-ledger); color: #fff; }
.advl-pill--off { background: #fbf0ef; border-color: #e7c4c0; color: #a12c2c; }
.advl-pill--new { background: #a12c2c; border-color: #a12c2c; color: #fff; }
.advl-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8em; margin: 0; }
@media (max-width: 640px) { .advl-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.advl-stats > div { padding: .9em 1em; border: 1px solid var(--advh-rule); border-top: 4px solid var(--advh-ledger); background: #fff; }
.advl-dash .advl-stats dt { margin: 0; font-size: .82em; color: var(--advh-muted); font-weight: 400; }
.advl-dash .advl-stats dd { margin: .15em 0 0 !important; padding: 0; font-size: 1.9em; font-weight: 700; color: var(--advh-ink); font-variant-numeric: tabular-nums; }
.advl-dash__tools { margin: 0; padding-left: 1.2em; }
.advl-dash__tools li { margin-bottom: .35em; }
.advl-dash__empty { padding: 1em 1.1em; background: var(--advh-tint); border-left: 5px solid var(--advh-ledger); }
.advl-leads { list-style: none; margin: 0; padding: 0; display: grid; gap: .9em; }
.advl-lead { padding: .9em 1.1em; border: 1px solid var(--advh-rule); border-left: 4px solid var(--advh-rule); background: #fff; margin: 0; }
.advl-lead--new { border-left-color: #a12c2c; }
.advl-lead--won { border-left-color: var(--advh-ledger); }
.advl-lead__head { display: flex; flex-wrap: wrap; gap: .3em 1em; align-items: center; }
.advl-lead__head span { font-size: .85em; color: var(--advh-muted); }
.advl-lead__head .advl-pill { color: var(--advh-ink); }
.advl-lead__head .advl-pill--new { color: #fff; }
.advl-lead__contact { margin: .4em 0; font-size: .92em; }
.advl-lead__msg { margin: .4em 0 .7em; white-space: pre-line; overflow-wrap: anywhere; }
.advl-lead__form { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; font-size: .9em; }
.advl-dash .advl-lead__form select { min-width: 10em; padding: .35em 2em .35em .5em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; }
button.advl-btn.advl-btn--small { padding: .4em .9em; font-size: .88em; }

/* Contact form on listings */
.advl-inquiry { margin-top: 2em; padding: 1.2em 1.3em; border: 1px solid var(--advh-rule); border-top: 4px solid var(--advh-ledger); background: #fff; }
.advl-inquiry h2 { font-size: 1.2em; margin: 0 0 .3em; }
.advl-inquiry .advl-form { margin: .8em 0 0; }
.advl-grid > .advl-field:only-child { grid-column: 1 / -1; }

/* Business Kit: brand kit page */
.advh-bk__logo { display: flex; flex-wrap: wrap; gap: 1em; align-items: flex-start; }
.advh-bk__logo > div:last-child { flex: 1 1 12em; min-width: 0; }
.advh-bk__logo input[type="file"] { display: block; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.advh-bk__logobox { width: 110px; height: 110px; flex: 0 0 110px; display: flex; align-items: center; justify-content: center; border: 1px dashed #aeb8c2; background: #fff; }
.advh-bk__logobox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.advh-bk__logobox span { font-size: .8em; color: var(--advh-muted); }
.advh-bk__filelabel { display: block; font-weight: 600; font-size: .92em; margin-bottom: .3em; }
.advh-bk__colors { display: flex; gap: 1.5em; }
.advh-bk input[type="color"] { width: 4em; height: 2.4em; padding: 0; border: 1px solid #aeb8c2; background: #fff; cursor: pointer; }
.advh-bk__preview { border: 1px solid var(--advh-rule); background: #fff; padding: 1em; }
.advh-bk__band { display: flex; gap: .8em; align-items: center; padding: .9em 1em; }
.advh-bk__mark { width: 52px; height: 52px; flex: 0 0 52px; object-fit: contain; background: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; color: #111; font-size: 1.2em; }
.advh-bk__bname { margin: 0; font-weight: 700; font-size: 1.2em; line-height: 1.2; }
.advh-bk__btag { margin: .15em 0 0; font-size: .88em; opacity: .9; }
.advh-bk__swatches { display: flex; flex-wrap: wrap; gap: .4em 1.2em; margin: .8em 0; font-size: .82em; color: var(--advh-muted); font-variant-numeric: tabular-nums; }
.advh-bk__swatches > span { display: inline-flex; align-items: center; gap: .4em; }
.advh-bk__dot { width: 1em; height: 1em; display: inline-block; border: 1px solid var(--advh-rule); }
.advh-bk__cap { margin: .4em 0 .4em; font-size: .82em; color: var(--advh-muted); }
.advh-bk__next { margin-top: .8em; font-size: .9em; }
.advh-bk .advh-bk__logo button.advh-plan__btn--quiet { display: inline-block; margin: .5em 0 0; padding: .3em 0; border: 0; border-radius: 0; background: transparent; color: var(--advh-ink); font: inherit; font-size: .9em; text-decoration: underline; cursor: pointer; }
.advh-bk .advh-bk__logo button.advh-plan__btn--quiet:hover { color: var(--advh-ledger); }

/* Business Kit: card maker */
.advh-cm__kit { display: flex; gap: .8em; align-items: center; padding: .7em 1em; margin-bottom: 1.1em; border: 1px solid var(--advh-rule); background: #fff; }
.advh-cm__kit p { margin: 0; }
.advh-cm__kit--empty { background: #fff8ec; border-color: #e6c98f; }
.advh-cm__kitmark { width: 40px; height: 40px; flex: 0 0 40px; object-fit: contain; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.advh-cm__choices { margin: .2em 0 .9em; }
.advh-cm__choices .advh-chk__opt, .advh-bk .advh-chk__opt { position: relative; display: inline-block; margin: 0; padding: 0; cursor: pointer; }
.advh-cm__choices .advh-chk__opt input[type="radio"], .advh-bk .advh-chk__opt input[type="radio"] { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; -webkit-appearance: none; appearance: none; }
.advh-cm__warn { margin: 0 0 .6em; color: #8a4b0f; font-weight: 600; font-size: .9em; }
.advh-cm__preview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5em; margin: .4em 0 1em; }
@container (max-width: 620px) { .advh-cm__preview { grid-template-columns: minmax(0, 1fr); } }
.advh-cm__preview figure { margin: 0; }
.advh-cm__preview figcaption { font-size: .82em; font-weight: 700; color: var(--advh-muted); margin-bottom: .35em; }
.advh-cm__slot { max-width: 440px; }
.advh-cm__slot .advh-card { box-shadow: 0 1px 0 var(--advh-rule), 0 10px 24px -14px rgba(27, 48, 71, .45); outline: 1px solid var(--advh-rule); }

/* Business card designs. Sizes are in container units so the same card scales on screen and prints at 3.5 x 2 in. */
.advh-card { --bleed: 0in; position: relative; width: 100%; aspect-ratio: 7 / 4; overflow: hidden; background: #fff; color: #161616; font-family: "Helvetica Neue", Arial, "Segoe UI", sans-serif; container-type: inline-size; -webkit-print-color-adjust: exact; print-color-adjust: exact; box-sizing: border-box; }
.advh-card--serif { font-family: Georgia, "Times New Roman", serif; }
.advh-card * { font-family: inherit; letter-spacing: normal; text-transform: none; }
.advh-card__in { position: absolute; inset: var(--bleed); padding: 6cqw 6.5cqw; box-sizing: border-box; container-type: inline-size; display: flex; flex-direction: column; }
.advh-card p, .advh-card ul { margin: 0; padding: 0; }
.advh-card li { list-style: none; margin: 0; }
.advh-card img { max-width: none; }
.advh-card__brand { display: flex; align-items: center; gap: 3cqw; }
.advh-card__logo { height: 13cqw; width: auto; max-width: 30cqw; object-fit: contain; display: block; }
.advh-card__mono { width: 13cqw; height: 13cqw; display: inline-flex; align-items: center; justify-content: center; background: var(--c1); color: var(--t1); font-weight: 700; font-size: 5.4cqw; letter-spacing: .02em; flex: 0 0 auto; }
.advh-card__name { font-weight: 700; font-size: 5.2cqw; line-height: 1.15; color: var(--c2); overflow-wrap: anywhere; }
.advh-card__who { margin-top: auto; }
.advh-card__person { font-weight: 700; font-size: 4.6cqw; line-height: 1.2; }
.advh-card__title { font-size: 3.3cqw; color: var(--c1); margin-top: .5cqw !important; }
.advh-card__lines { margin-top: 2.6cqw !important; font-size: 3.1cqw; line-height: 1.45; }
.advh-card__lines li { overflow-wrap: anywhere; }

.advh-card--classic::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--bleed) + 3.2cqw); background: var(--c1); }
.advh-card--classic.advh-card--front .advh-card__in { padding-bottom: 8cqw; }

.advh-card--bold { background: var(--c1); color: var(--t1); }
.advh-card--bold .advh-card__name, .advh-card--bold .advh-card__title { color: var(--t1); }
.advh-card--bold .advh-card__logo { background: #fff; padding: 1.2cqw; box-sizing: border-box; height: 15cqw; }
.advh-card--bold .advh-card__mono { background: #fff; color: #161616; }
.advh-card--bold .advh-card__title { opacity: .9; }

.advh-card--minimal .advh-card__in { align-items: center; text-align: center; }
.advh-card--minimal .advh-card__brand { flex-direction: column; gap: 1.6cqw; }
.advh-card--minimal .advh-card__logo { height: 15cqw; max-width: 40cqw; }
.advh-card--minimal .advh-card__who { margin-top: auto; padding-top: 2cqw; border-top: .35cqw solid var(--c2); width: 70%; }
.advh-card--minimal .advh-card__lines { font-size: 2.9cqw; }

.advh-card--split.advh-card--front { --edge: 38%; background: linear-gradient(to right, var(--c1) 0, var(--c1) var(--edge), #fff var(--edge)); }
.advh-card--split.advh-card--front .advh-card__in { flex-direction: row; padding: 0; }
.advh-card--split .advh-card__panel { flex: 0 0 38%; color: var(--t1); display: flex; align-items: center; justify-content: center; padding: 5cqw 3.5cqw; box-sizing: border-box; text-align: center; }
.advh-card--split .advh-card__brand { flex-direction: column; gap: 2cqw; }
.advh-card--split .advh-card__name { color: var(--t1); font-size: 4.4cqw; }
.advh-card--split .advh-card__logo { background: #fff; padding: 1.2cqw; box-sizing: border-box; height: 14cqw; max-width: 28cqw; }
.advh-card--split .advh-card__mono { background: #fff; color: #161616; }
.advh-card--split .advh-card__body { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 5cqw 5cqw; box-sizing: border-box; }
.advh-card--split .advh-card__who { margin-top: 0; }

/* Backs */
.advh-card--back-logo, .advh-card--back-blank { background: var(--c1); color: var(--t1); }
.advh-card--back-logo::after, .advh-card--back-blank::after { display: none; }
.advh-card--back-logo .advh-card__in { align-items: center; justify-content: center; gap: 3cqw; text-align: center; }
.advh-card__plate { background: #fff; padding: 2.4cqw; display: inline-flex; }
.advh-card__backlogo { height: 20cqw; width: auto; max-width: 50cqw; object-fit: contain; display: block; }
.advh-card__plate .advh-card__mono { width: 20cqw; height: 20cqw; font-size: 8cqw; }
.advh-card__tagline { font-size: 3.8cqw; max-width: 80%; line-height: 1.35; }
.advh-card.advh-card--back-contact, .advh-card.advh-card--back-website, .advh-card.advh-card--back-review { background: #fff; color: #161616; }
.advh-card--back-contact .advh-card__in, .advh-card--back-website .advh-card__in, .advh-card--back-review .advh-card__in { flex-direction: row; align-items: center; gap: 4.5cqw; }
.advh-card__qr { width: 44cqw; height: 44cqw; flex: 0 0 44cqw; display: flex; align-items: center; justify-content: center; }
.advh-card__qr svg { width: 100%; height: 100%; display: block; }
.advh-card__qrmissing { font-size: 2.8cqw; color: #8a4b0f; border: .3cqw dashed #c9a46a; padding: 3cqw; text-align: center; }
.advh-card__cap { display: flex; flex-direction: column; gap: 1.2cqw; }
.advh-card__caption { font-weight: 700; font-size: 4.4cqw; line-height: 1.2; color: #161616; }
.advh-card__capname { font-size: 3.4cqw; color: var(--c1); font-weight: 700; padding-top: 1cqw; border-top: .5cqw solid var(--c1); }
.advh-card__capurl { font-size: 3cqw; }

/* Business Kit: quote and invoice generator */
.advh-iv textarea, .advh-iv select { width: 100%; max-width: 100%; box-sizing: border-box; margin: 0; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; color: var(--advh-ink); background: #fff; }
.advh-iv .advh-chk__opt { position: relative; display: inline-block; margin: 0; padding: 0; cursor: pointer; }
.advh-iv .advh-chk__opt input[type="radio"] { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; -webkit-appearance: none; appearance: none; }
.advh-iv__items { display: grid; gap: .7em; margin-bottom: .8em; }
.advh-iv__item { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, .9fr) minmax(0, 1.2fr) auto auto; gap: .5em; align-items: end; padding-bottom: .7em; border-bottom: 1px solid var(--advh-rule); }
@container (max-width: 560px) { .advh-iv__item { grid-template-columns: repeat(2, minmax(0, 1fr)); } .advh-iv__desc { grid-column: 1 / -1; } }
.advh-iv__cell { display: flex; flex-direction: column; gap: .2em; }
.advh-iv__cell label { font-size: .78em; font-weight: 600; margin: 0; }
.advh-iv__cell input { width: 100%; box-sizing: border-box; margin: 0; padding: .45em .5em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .92em; background: #fff; color: var(--advh-ink); }
.advh-iv__tax { display: flex; align-items: center; gap: .3em; font-size: .82em; padding-bottom: .5em; white-space: nowrap; margin: 0; }
.advh-iv button.advh-iv__remove, .advh-iv button.advh-iv__savedbtn { margin: 0; padding: .35em .5em; border: 0; border-radius: 0; background: transparent; color: #a12c2c; font: inherit; font-size: .82em; text-decoration: underline; cursor: pointer; }
.advh-iv button.advh-iv__savedbtn { color: var(--advh-ink); }
.advh-iv button.advh-iv__add { margin: 0; padding: .45em 1em; border: 1px solid var(--advh-ink); border-radius: 0; background: #fff; color: var(--advh-ink); font: inherit; font-size: .9em; font-weight: 600; cursor: pointer; }
.advh-iv__saved { list-style: none; margin: 0; padding: 0; display: grid; gap: .3em; }
.advh-iv__saved li { display: flex; flex-wrap: wrap; gap: .2em .6em; align-items: center; padding: .45em .6em; border: 1px solid var(--advh-rule); background: #fff; margin: 0; font-size: .9em; }
.advh-iv__saved li.is-current { border-left: 4px solid var(--advh-ledger); }
.advh-iv__savedlabel { flex: 1 1 12em; font-weight: 600; overflow-wrap: anywhere; }
.advh-iv__savedamt { font-variant-numeric: tabular-nums; color: var(--advh-muted); }

.advh-iv__sheet { --c1: #2f6b4f; background: #fff; color: #161616; border: 1px solid var(--advh-rule); border-top: 6px solid var(--c1); padding: 1.6em 1.7em; font-family: "Helvetica Neue", Arial, "Segoe UI", sans-serif; font-size: .82em; line-height: 1.45; box-shadow: 0 12px 28px -18px rgba(27, 48, 71, .45); }
.advh-iv__sheet.advh-card--serif { font-family: Georgia, "Times New Roman", serif; }
.advh-iv__sheet * { font-family: inherit; }
.advh-iv__sheet p { margin: 0; }
.advh-iv__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1em 1.5em; align-items: flex-start; padding-bottom: 1em; border-bottom: 1px solid #d6dbe0; }
.advh-iv__from, .advh-iv__meta { min-width: 0; }
.advh-iv__sheet { overflow-wrap: anywhere; }
.advh-iv__logo { max-height: 60px; max-width: 160px; width: auto; height: auto; object-fit: contain; display: block; margin-bottom: .5em; }
.advh-iv__biz { font-weight: 700; font-size: 1.25em; margin-bottom: .2em !important; }
.advh-iv__line { color: #3b4652; overflow-wrap: anywhere; }
.advh-iv__pre { white-space: pre-line; }
.advh-iv__meta { text-align: right; }
.advh-iv__kind { font-size: 1.9em; font-weight: 700; color: var(--c1); line-height: 1.1; margin-bottom: .4em !important; text-transform: uppercase; letter-spacing: .04em; }
.advh-iv__meta dl { display: grid; grid-template-columns: auto auto; gap: .15em .8em; margin: 0; justify-content: end; }
.advh-iv__meta dt { color: #5b6b7b; margin: 0; white-space: nowrap; }
.advh-iv__sheet .advh-iv__meta dd { margin: 0 !important; font-weight: 600; }
.advh-iv__bill { margin: 1.1em 0; }
.advh-iv__sheet h3 { font-size: .8em; color: var(--c1); text-transform: uppercase; letter-spacing: .06em; margin: 0 0 .3em; }
.advh-iv__table { width: 100%; border-collapse: collapse; margin: .5em 0 0; font-size: 1em; }
.advh-iv__table th { background: var(--c1); color: var(--t1, #fff); text-align: left; padding: .45em .6em; font-weight: 700; font-size: .9em; border: 0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.advh-iv__table td { padding: .5em .6em; border: 0; border-bottom: 1px solid #e3e7eb; vertical-align: top; overflow-wrap: anywhere; }
.advh-iv__table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.advh-iv__table tr { break-inside: avoid; }
.advh-iv__t { color: #5b6b7b; font-size: .85em; }
.advh-iv__sheet .is-empty { color: #9aa5b0; font-style: italic; }
.advh-iv__totals { width: min(100%, 300px); margin: .8em 0 0 auto; font-variant-numeric: tabular-nums; break-inside: avoid; }
.advh-iv__totals > div { display: flex; justify-content: space-between; gap: 1em; padding: .25em 0; margin: 0; }
.advh-iv__totals dt { margin: 0; color: #3b4652; }
.advh-iv__sheet .advh-iv__totals dd { margin: 0 !important; }
.advh-iv__totals .is-total { border-top: 2px solid #161616; margin-top: .3em; padding-top: .45em; font-weight: 700; font-size: 1.15em; }
.advh-iv__totals .is-due { background: var(--c1); color: var(--t1, #fff); padding: .4em .5em; margin-top: .3em; font-weight: 700; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.advh-iv__totals .is-due dt { color: inherit; }
.advh-iv__fine { margin-top: .3em !important; font-size: .85em; color: #5b6b7b; text-align: right; }
.advh-iv__note { margin-top: 1.1em; break-inside: avoid; }
.advh-iv__thanks { margin-top: 1.4em !important; padding-top: .8em; border-top: 1px solid #d6dbe0; color: #3b4652; }

/* Business Kit: flyer maker */
.advh-fl textarea { width: 100%; max-width: 100%; box-sizing: border-box; margin: 0; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; color: var(--advh-ink); background: #fff; resize: vertical; }
.advh-fl .advh-chk__opt { position: relative; display: inline-block; margin: 0; padding: 0; cursor: pointer; }
.advh-fl .advh-chk__opt input[type="radio"] { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; -webkit-appearance: none; appearance: none; }
.advh-fl__presets { display: flex; flex-wrap: wrap; gap: .4em; }
.advh-plan .advh-fl__presets button.advh-plan__btn { margin: 0; padding: .4em .85em; border: 1px solid var(--advh-ink); border-radius: 0; background: #fff; color: var(--advh-ink); font: inherit; font-size: .88em; font-weight: 600; cursor: pointer; text-transform: none; }
.advh-plan .advh-fl__presets button.advh-plan__btn:hover { background: var(--advh-ink); color: #fff; }
.advh-fl .advh-bk__logo button.advh-plan__btn--quiet { display: inline-block; margin: .5em 0 0; padding: .3em 0; border: 0; background: transparent; color: var(--advh-ink); font: inherit; font-size: .9em; text-decoration: underline; cursor: pointer; }
.advh-fl .advh-bk__logobox img { object-fit: cover; width: 100%; height: 100%; }
.advh-fl__slot { max-width: 520px; }
.advh-fl__slot .advh-flyer { box-shadow: 0 1px 0 var(--advh-rule), 0 14px 30px -16px rgba(27, 48, 71, .5); outline: 1px solid var(--advh-rule); }

/* The flyer. All sizes are relative to the flyer's width (cqw), so screen and print match. --fit shrinks type for long text. */
.advh-flyer { --fit: 1; position: relative; width: 100%; aspect-ratio: 8.5 / 11; overflow: hidden; background: #fff; color: #161616; font-family: "Helvetica Neue", Arial, "Segoe UI", sans-serif; container-type: inline-size; -webkit-print-color-adjust: exact; print-color-adjust: exact; box-sizing: border-box; }
.advh-flyer * { font-family: inherit; box-sizing: border-box; letter-spacing: normal; }
.advh-flyer.advh-card--serif { font-family: Georgia, "Times New Roman", serif; }
.advh-flyer p, .advh-flyer h2, .advh-flyer ul, .advh-flyer figure { margin: 0; padding: 0; }
.advh-flyer img { max-width: none; }
.advh-flyer__in { position: absolute; top: 4.7cqw; left: 4.7cqw; right: 4.7cqw; bottom: 4.7cqw; overflow: hidden; }
.advh-flyer.has-tabs .advh-flyer__in { bottom: 29.5cqw; }
.advh-flyer__fit { display: flex; flex-direction: column; gap: calc(3cqw * var(--fit)); min-height: 100%; }
.advh-flyer__top { position: relative; }
.advh-flyer__brand { display: flex; align-items: center; gap: 2cqw; margin-bottom: calc(2.4cqw * var(--fit)); }
.advh-flyer__logo { height: calc(8cqw * var(--fit)); width: auto; max-width: 30cqw; object-fit: contain; display: block; }
.advh-flyer__bname { font-weight: 700; font-size: calc(3cqw * var(--fit)); }
.advh-flyer__headline { font-size: calc(9.4cqw * var(--fit)) !important; line-height: 1.04 !important; font-weight: 800 !important; color: var(--c1); margin: 0 !important; overflow-wrap: anywhere; text-transform: none; }
.advh-flyer__sub { font-size: calc(4cqw * var(--fit)); line-height: 1.25; margin-top: calc(1.6cqw * var(--fit)) !important; color: var(--c2); font-weight: 600; }
.advh-flyer__when { font-size: calc(3.4cqw * var(--fit)); font-weight: 700; margin-top: calc(1.6cqw * var(--fit)) !important; color: var(--c1); }
.advh-flyer__badge { position: absolute; top: 1.2cqw; right: 1.6cqw; width: calc(17cqw * var(--fit)); height: calc(17cqw * var(--fit)); border-radius: 50%; background: var(--c2); color: var(--t2); display: flex; align-items: center; justify-content: center; text-align: center; font-weight: 800; font-size: calc(3.5cqw * var(--fit)); line-height: 1.05; padding: 2cqw; transform: rotate(8deg); }
.advh-flyer__top:has(.advh-flyer__badge) .advh-flyer__headline, .advh-flyer__top:has(.advh-flyer__badge) .advh-flyer__sub { padding-right: calc(19cqw * var(--fit)); }
.advh-flyer__photo img { width: 100%; height: calc(32cqw * var(--fit)); object-fit: cover; display: block; }
.advh-flyer__main { display: flex; gap: 4cqw; align-items: flex-start; }
.advh-flyer__text { flex: 1; min-width: 0; }
.advh-flyer__body { font-size: calc(3.1cqw * var(--fit)); line-height: 1.45; }
.advh-flyer__bullets { list-style: none; margin-top: calc(2cqw * var(--fit)) !important; display: grid; gap: calc(1.2cqw * var(--fit)); }
.advh-flyer__bullets li { position: relative; padding-left: calc(4.4cqw * var(--fit)); font-size: calc(3.1cqw * var(--fit)); line-height: 1.35; margin: 0; overflow-wrap: anywhere; }
.advh-flyer__bullets li::before { content: ""; position: absolute; left: 0; top: .32em; width: .6em; height: .6em; background: var(--c1); }
.advh-flyer__qr { flex: 0 0 calc(24cqw * var(--fit)); width: calc(24cqw * var(--fit)); display: flex; flex-direction: column; align-items: center; gap: 1cqw; }
.advh-flyer__qr svg { width: 100%; height: auto; display: block; }
.advh-flyer__qrcap { font-size: calc(2.3cqw * var(--fit)); font-weight: 700; text-align: center; line-height: 1.2; }
.advh-flyer__foot { margin-top: auto; padding-top: calc(2.4cqw * var(--fit)); border-top: .5cqw solid var(--c1); }
.advh-flyer__cta { font-size: calc(3.8cqw * var(--fit)); font-weight: 800; line-height: 1.25; color: var(--c2); overflow-wrap: anywhere; }
.advh-flyer__contact { font-size: calc(2.7cqw * var(--fit)); margin-top: calc(1cqw * var(--fit)) !important; white-space: pre; }
.advh-flyer__fine { font-size: calc(2cqw * var(--fit)); color: #555; margin-top: calc(1.2cqw * var(--fit)) !important; line-height: 1.35; }

.advh-flyer--banner .advh-flyer__top { background: var(--c1); color: var(--t1); padding: calc(4cqw * var(--fit)) 4cqw; }
.advh-flyer--banner .advh-flyer__headline, .advh-flyer--banner .advh-flyer__sub, .advh-flyer--banner .advh-flyer__when { color: var(--t1); }
.advh-flyer--banner .advh-flyer__logo { background: #fff; padding: .8cqw; }
.advh-flyer--banner .advh-flyer__badge { top: 3cqw; right: 3cqw; }

.advh-flyer--clean .advh-flyer__in { border-left: 1.6cqw solid var(--c1); padding-left: 4cqw; }

.advh-flyer--poster { background: var(--c1); color: var(--t1); }
.advh-flyer--poster .advh-flyer__headline { color: var(--t1); font-size: calc(11cqw * var(--fit)) !important; }
.advh-flyer--poster .advh-flyer__sub, .advh-flyer--poster .advh-flyer__when { color: var(--t1); }
.advh-flyer--poster .advh-flyer__logo { background: #fff; padding: .8cqw; }
.advh-flyer--poster .advh-flyer__main { background: #fff; color: #161616; padding: calc(3.5cqw * var(--fit)); }
.advh-flyer--poster .advh-flyer__foot { border-top-color: var(--t1); }
.advh-flyer--poster .advh-flyer__cta { color: var(--t1); }
.advh-flyer--poster .advh-flyer__fine { color: var(--t1); opacity: .85; }
.advh-flyer--poster .advh-flyer__badge { background: #fff; color: #161616; }

.advh-flyer__tabs { position: absolute; left: 4.7cqw; right: 4.7cqw; bottom: 4.7cqw; height: 23cqw; display: grid; grid-template-columns: repeat(var(--n), 1fr); border-top: .3cqw dashed #444; background: #fff; color: #161616; }
.advh-flyer__tab { display: flex; align-items: center; justify-content: center; border-left: .3cqw dashed #444; overflow: hidden; }
.advh-flyer__tab:first-child { border-left: 0; }
.advh-flyer__tab span { writing-mode: vertical-rl; transform: rotate(180deg); display: flex; flex-direction: column-reverse; align-items: center; gap: .5cqw; text-align: center; }
.advh-flyer__tab strong, .advh-flyer__tab em { white-space: nowrap; font-size: var(--tabfs, 2.1cqw); line-height: 1.15; }
.advh-flyer__tab em { font-style: normal; }

/* Business Kit: shared form bits for gift certificates and loyalty cards */
.advh-kitool textarea, .advh-kitool select { width: 100%; max-width: 100%; box-sizing: border-box; margin: 0; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; color: var(--advh-ink); background: #fff; resize: vertical; }
.advh-kitool .advh-chk__opt { position: relative; display: inline-block; margin: 0; padding: 0; cursor: pointer; }
.advh-kitool .advh-chk__opt input[type="radio"] { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; opacity: 0; -webkit-appearance: none; appearance: none; }
.advh-kitool__check { margin: .2em 0 .9em; }
.advh-kitool__check label { display: flex; gap: .5em; align-items: flex-start; font-weight: 400; font-size: .93em; }
.advh-kitool__check input { margin-top: .25em; }
.advh-gc__slot { max-width: 620px; }
.advh-gc__slot .advh-gc-cert { box-shadow: 0 1px 0 var(--advh-rule), 0 12px 26px -16px rgba(27, 48, 71, .5); outline: 1px solid var(--advh-rule); }

/* Gift certificate (7.5 x 3.25 in). Sizes in cqw of the certificate's width. */
.advh-gc-cert { position: relative; width: 100%; aspect-ratio: 7.5 / 3.25; overflow: hidden; background: #fff; color: #161616; font-family: "Helvetica Neue", Arial, "Segoe UI", sans-serif; container-type: inline-size; -webkit-print-color-adjust: exact; print-color-adjust: exact; box-sizing: border-box; }
.advh-gc-cert.advh-card--serif { font-family: Georgia, "Times New Roman", serif; }
.advh-gc-cert * { font-family: inherit; box-sizing: border-box; letter-spacing: normal; }
.advh-gc-cert p { margin: 0; }
.advh-gc-cert img { max-width: none; }
.advh-gc__frame { position: absolute; inset: 1.4cqw; display: flex; flex-direction: column; padding: 2.4cqw 3.4cqw 1.8cqw; }
.advh-gc__brand { display: flex; align-items: center; gap: 1.4cqw; min-width: 0; }
.advh-gc__logo { height: 5.6cqw; width: auto; max-width: 16cqw; object-fit: contain; display: block; }
.advh-gc__bname { font-weight: 700; font-size: 2.2cqw; overflow-wrap: anywhere; }
.advh-gc__contact { font-size: 1.55cqw; color: #4b5560; }
.advh-gc__main { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: .6cqw; min-height: 0; }
.advh-gc__title { font-size: 5cqw; font-weight: 700; color: var(--c1); line-height: 1.05; }
.advh-gc__promo { font-size: 1.5cqw; font-weight: 700; text-transform: uppercase; letter-spacing: .08em !important; color: var(--c1); }
.advh-gc__worth { font-size: 6.2cqw; font-weight: 800; color: var(--c2); line-height: 1.05; }
.advh-gc__worth.is-item { font-size: 3.6cqw; line-height: 1.15; max-width: 90%; overflow-wrap: anywhere; }
.advh-gc__who { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3cqw; width: 78%; margin-top: .6cqw; }
.advh-gc__line { display: flex; align-items: flex-end; gap: 1cqw; }
.advh-gc__label { font-size: 1.7cqw; color: #4b5560; }
.advh-gc__fill { flex: 1; border-bottom: .2cqw solid #161616; font-size: 2cqw; min-height: 2.9cqw; text-align: left; padding-left: .5cqw; overflow-wrap: anywhere; }
.advh-gc__msg { font-size: 1.9cqw; font-style: italic; color: #333; max-width: 85%; }
.advh-gc__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 2cqw; margin-top: 1cqw; font-size: 1.6cqw; }
.advh-gc__no { font-weight: 700; font-variant-numeric: tabular-nums; }
.advh-gc__sig { width: 24cqw; border-top: .2cqw solid #161616; padding-top: .4cqw; text-align: center; color: #4b5560; font-size: 1.4cqw; }
.advh-gc__terms { font-size: 1.3cqw; color: #4b5560; text-align: center; margin-top: .9cqw !important; line-height: 1.3; }
.advh-gc--classic .advh-gc__frame { border: 1.1cqw double var(--c1); }
.advh-gc--classic .advh-gc__top { display: flex; justify-content: space-between; align-items: center; gap: 2cqw; }
.advh-gc--modern .advh-gc__frame { inset: 0; padding: 0; flex-direction: row; }
.advh-gc--modern .advh-gc__side { flex: 0 0 28%; background: var(--c1); color: var(--t1); padding: 4cqw 3cqw; display: flex; flex-direction: column; justify-content: center; gap: 1.6cqw; text-align: center; align-items: center; }
.advh-gc--modern .advh-gc__side .advh-gc__brand { flex-direction: column; }
.advh-gc--modern .advh-gc__side .advh-gc__logo { background: #fff; padding: .6cqw; height: 9cqw; max-width: 20cqw; }
.advh-gc--modern .advh-gc__side .advh-gc__contact { color: var(--t1); opacity: .92; }
.advh-gc--modern .advh-gc__body { flex: 1; display: flex; flex-direction: column; padding: 3cqw 3.6cqw 2cqw; min-width: 0; }
.advh-gc--modern .advh-gc__main { align-items: flex-start; text-align: left; }
.advh-gc--modern .advh-gc__who { width: 100%; }
.advh-gc--modern .advh-gc__terms { text-align: left; }

/* Loyalty punch card (business card size; uses .advh-card sizing and print rules). */
.advh-loyal .advh-card__in { padding: 4.4cqw 5.4cqw; gap: 2cqw; }
.advh-loyal__head { display: flex; align-items: center; gap: 2.6cqw; }
.advh-loyal__logo { height: 9cqw; width: auto; max-width: 22cqw; object-fit: contain; display: block; }
.advh-loyal__title { font-size: 4.6cqw; font-weight: 800; color: var(--c1); line-height: 1.1; }
.advh-loyal__biz { font-size: 2.8cqw; font-weight: 600; margin-top: .4cqw !important; }
.advh-loyal__line { font-size: 3cqw; font-weight: 700; color: var(--c2); line-height: 1.25; }
.advh-loyal__grid { --box: min(var(--boxcap, 10.5cqw), calc((89cqw - (var(--cols) - 1) * 2.6cqw) / var(--cols))); display: grid; grid-template-columns: repeat(var(--cols), var(--box)); gap: 1.8cqw 2.6cqw; justify-content: center; }
.advh-loyal__box { width: var(--box); height: var(--box); border: .45cqw solid var(--c1); display: flex; align-items: center; justify-content: center; font-size: 2.3cqw; color: #9aa5b0; box-sizing: border-box; }
.advh-loyal--circle .advh-loyal__box { border-radius: 50%; }
.advh-loyal__box.is-reward { background: var(--c1); color: var(--t1); font-weight: 800; font-size: 2.3cqw; }
.advh-loyal__name { display: flex; align-items: flex-end; gap: 1.4cqw; font-size: 2.4cqw; color: #4b5560; }
.advh-loyal__name::after { content: ""; flex: 1; border-bottom: .25cqw solid #161616; margin-bottom: .5cqw; }
.advh-loyal--back::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: calc(var(--bleed) + 2.6cqw); background: var(--c1); }
.advh-loyal--back .advh-card__in { padding-top: 7cqw; }
.advh-loyal__backtop { display: flex; align-items: center; gap: 2.6cqw; }
.advh-loyal__backlogo { height: 10cqw; width: auto; max-width: 24cqw; object-fit: contain; display: block; }
.advh-loyal__backname { font-size: 4.2cqw; font-weight: 800; color: var(--c1); }
.advh-loyal__contact { font-size: 2.9cqw; line-height: 1.45; margin-top: 1cqw !important; }
.advh-loyal__contact li { overflow-wrap: anywhere; }
.advh-loyal__terms { margin-top: auto !important; font-size: 2.1cqw; color: #4b5560; line-height: 1.35; }

/* Word to PDF */
.advh-w2p__drop { border: 2px dashed #9aa5b0; background: #fff; padding: 2.2em 1.2em; text-align: center; margin: 1em 0 1.4em; transition: border-color .15s, background .15s; }
.advh-w2p__drop.is-over { border-color: var(--advh-ledger); background: var(--advh-tint); }
.advh-w2p__drop.is-busy { opacity: .6; cursor: progress; }
.advh-w2p__drop p { margin: .3em 0; }
.advh-w2p__droptitle { font-weight: 700; font-size: 1.15em; }
.advh-w2p__file { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.advh-w2p__pick { display: inline-block; padding: .6em 1.3em; background: var(--advh-ledger); color: #fff; font-weight: 700; cursor: pointer; margin: .3em 0; }
.advh-w2p__pick:hover { background: var(--advh-ink); }
.advh-w2p__file:focus-visible + .advh-w2p__pick, .advh-w2p__drop:focus-within .advh-w2p__pick { outline: 3px solid var(--advh-ledger); outline-offset: 2px; }
.advh-w2p__error { color: #a12c2c; font-weight: 600; }
.advh-w2p__summary { margin: 0 0 .6em; padding: .1em .2em; font-weight: 600; }
.advh-w2p__stage { background: #e4e8ec; border: 1px solid var(--advh-rule); }
.advh-w2p__frame { display: block; width: 100%; height: 600px; border: 0; background: #e4e8ec; }

/* Tools hub: grouped tools */
.advh-tools-jump { display: flex; flex-wrap: wrap; gap: .4em .9em; align-items: center; padding: .8em 1em; margin: 1.2em 0 1.6em; background: var(--advh-tint); border-left: 5px solid var(--advh-ledger); font-size: .95em; }
.advh-tools-jump span { font-weight: 700; }
.advh-tools-jump a { font-weight: 600; }
.advh-tools-group { margin: 0 0 2.2em; scroll-margin-top: 1.5em; }
.advh-tools-group h2 { margin-bottom: .3em; }
.advh-tools-group__intro { margin: 0 0 1em; color: var(--advh-muted); }
.advh-tools-list .advh-tools-start { border-color: var(--advh-ledger); border-width: 2px; position: relative; }
.advh-tools-badge { display: block; width: max-content; margin-bottom: .45em; padding: .1em .55em; background: var(--advh-ledger); color: #fff; font-size: .75em; font-weight: 700; letter-spacing: .02em; }

/* Website builder */
.advh-sb .advh-plan__layout { grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr); }
.advh-sb__preview { position: sticky; top: 1em; align-self: start; }
.advh-sb__device { display: flex; gap: .4em; margin-bottom: .6em; }
.advh-sb__device button { margin: 0; padding: .4em .9em; border: 1px solid var(--advh-ink); border-radius: 0; background: #fff; color: var(--advh-ink); font: inherit; font-size: .88em; font-weight: 600; cursor: pointer; }
.advh-sb__device button[aria-pressed="true"] { background: var(--advh-ink); color: #fff; }
.advh-sb__pages { display: flex; flex-wrap: wrap; gap: .3em; align-items: center; margin-bottom: .6em; }
.advh-plan .advh-sb__pages button { margin: 0; padding: .35em .75em; border: 1px solid #c8d0d8; border-radius: 999px; background: #fff; color: var(--advh-ink); font: inherit; font-size: .85em; font-weight: 600; cursor: pointer; }
.advh-plan .advh-sb__pages button[aria-selected="true"] { background: var(--advh-ledger); border-color: var(--advh-ledger); color: #fff; }
.advh-sb__count { margin-left: auto; font-size: .82em; color: var(--advh-muted); font-weight: 600; }
.advh-sb__bar { display: flex; flex-wrap: wrap; gap: .5em .8em; align-items: center; margin-bottom: .6em; }
.advh-sb__pick { display: flex; align-items: center; gap: .5em; font-weight: 600; font-size: .9em; margin: 0; }
.advh-sb__pick select { padding: .4em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; max-width: 260px; background: #fff; }
.advh-sb__bar .advh-sb__device { margin: 0 0 0 auto; }
.advh-sb__items { display: grid; gap: .7em; margin-bottom: .8em; }
.advh-sb__item { border: 1px solid var(--advh-rule); background: #fff; }
.advh-sb__item > summary { display: flex; align-items: center; justify-content: space-between; gap: .8em; padding: .75em 1em; cursor: pointer; font-weight: 700; list-style: none; }
.advh-sb__item > summary::-webkit-details-marker { display: none; }
.advh-sb__item > summary::before { content: "▸"; color: var(--advh-ledger); margin-right: .2em; }
.advh-sb__item[open] > summary::before { content: "▾"; }
.advh-sb__itemname { flex: 1; overflow-wrap: anywhere; }
.advh-sb__itembody { padding: .2em 1em 1em; border-top: 1px solid var(--advh-rule); }
.advh-sb__itembody input[type="text"] { width: 100%; max-width: 100%; box-sizing: border-box; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; }
.advh-sb__itembody .advh-tool__field { display: flex; flex-direction: column; gap: .25em; margin: .8em 0 0; }
.advh-plan button.advh-sb__add { margin: 0; padding: .55em 1.1em; border: 2px dashed var(--advh-ledger); border-radius: 0; background: #fff; color: var(--advh-ledger); font: inherit; font-weight: 700; cursor: pointer; width: 100%; }
.advh-plan button.advh-sb__add:hover { background: #eef5f1; }
.advh-sb__frame { background: #e4e8ec; border: 1px solid var(--advh-rule); padding: 10px; overflow: hidden; }
.advh-sb__frame iframe { display: block; border: 0; background: #fff; max-width: none; }
.advh-sb__frame.is-phone iframe { max-width: 100%; margin: 0 auto; border-radius: 18px; box-shadow: 0 8px 24px -14px rgba(0,0,0,.4); }
.advh-sb__photo { display: flex; flex-wrap: wrap; gap: .9em; align-items: flex-start; margin-bottom: 1em; }
.advh-sb__photo > div:last-child { flex: 1 1 12em; min-width: 0; }
.advh-sb__photo input[type="file"] { display: block; width: 100%; max-width: 100%; }
.advh-sb__thumb { width: 96px; height: 72px; flex: 0 0 96px; border: 1px dashed #aeb8c2; background: #fff; display: grid; place-items: center; overflow: hidden; }
.advh-sb__thumb img { width: 100%; height: 100%; object-fit: cover; }
.advh-sb__thumb span { font-size: .75em; color: var(--advh-muted); }
.advh-plan button.advh-sb__remove { margin: .4em 0 0; padding: .2em 0; border: 0; background: transparent; color: #a12c2c; font: inherit; font-size: .85em; text-decoration: underline; cursor: pointer; }
.advh-sb textarea { width: 100%; max-width: 100%; box-sizing: border-box; margin: 0; padding: .5em .6em; border: 1px solid #aeb8c2; border-radius: 0; font: inherit; font-size: .95em; resize: vertical; }
.advh-sb .advh-chk__opt { position: relative; display: inline-block; margin: 0; padding: 0; cursor: pointer; }
.advh-sb .advh-chk__opt input[type="radio"] { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; opacity: 0; -webkit-appearance: none; appearance: none; }
@container (max-width: 900px) { .advh-sb .advh-plan__layout { grid-template-columns: minmax(0, 1fr); } .advh-sb__preview { position: static; order: -1; } }

.advh-sb__start { margin: 0 0 1.4em; padding: 1.2em 1.3em; border: 1px solid var(--advh-rule); background: #fff; }
.advh-sb__start.is-open { background: #f5f8f6; }
.advh-sb__starthead { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4em 1em; }
.advh-sb__starthead h3 { margin: 0; font-size: 1.15em; flex: 1 1 auto; }
.advh-sb__starthead p { margin: 0; flex-basis: 100%; order: 3; }
.advh-plan button.advh-sb__toggle { margin: 0; padding: .45em 1em; border: 1px solid var(--advh-ink); border-radius: 0; background: #fff; color: var(--advh-ink); font: inherit; font-size: .9em; font-weight: 700; cursor: pointer; }
.advh-sb__tpls[hidden] { display: none; }
.advh-sb__tpls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1em; margin-top: 1em; }
@container (max-width: 760px) { .advh-sb__tpls { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (max-width: 460px) { .advh-sb__tpls { grid-template-columns: minmax(0, 1fr); } }
.advh-sb__step2 { margin: 0 0 1em; }
.advh-sb__step2 h3 { margin: 0 0 .2em; font-size: 1.15em; }
.advh-sb__step2 p { margin: 0; }
.advh-sb__preview .advh-plan__actions { margin-bottom: .7em; }
.advh-sb__preview > .advh-tool__hint { margin: .5em 0 0; font-size: .85em; }
@media (max-height: 820px) { .advh-sb__preview > .advh-tool__hint { display: none; } .advh-sb__preview .advh-plan__status { font-size: .85em; } }
.advh-plan button.advh-sb__tpl { margin: 0; padding: 0; display: flex; flex-direction: column; text-align: left; background: #fff; border: 1px solid #cfd7de; border-radius: 0; cursor: pointer; font: inherit; color: var(--advh-ink); overflow: hidden; transition: box-shadow .15s, border-color .15s, transform .15s; }
.advh-plan button.advh-sb__tpl:hover, .advh-plan button.advh-sb__tpl:focus-visible { border-color: var(--advh-ledger); box-shadow: 0 10px 24px -14px rgba(0,0,0,.45); transform: translateY(-2px); }
.advh-sb__tpl img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: top; border-bottom: 1px solid #e3e8ec; background: #eef2f5; }
.advh-sb__tpltext { display: flex; flex-direction: column; gap: .15em; padding: .65em .8em .8em; font-size: 15px; line-height: 1.4; }
.advh-sb__tpltext strong { font-size: 1.05em; }
.advh-sb__tpltext em { font-style: normal; font-size: .72em; font-weight: 700; color: var(--advh-ledger); text-transform: uppercase; letter-spacing: .05em; line-height: 1.3; }
.advh-sb__tpltext span { font-size: .85em; color: var(--advh-muted); line-height: 1.4; }
.advh-sb__use { margin-top: .35em; font-size: .85em; color: var(--advh-ledger); }
.advh-plan button.advh-sb__scratch { border-style: dashed; border-width: 2px; }
.advh-sb__plus { display: grid; place-items: center; aspect-ratio: 16 / 9; font-size: 3em; font-weight: 300; color: var(--advh-ledger); background: #f5f8f6; border-bottom: 1px dashed #cfd7de; }

/* Template picker: themes such as Twenty Twenty-One style every button with very specific rules, so these win explicitly. */
.advh-plan .advh-sb__start button.advh-sb__tpl, .advh-plan .advh-sb__start button.advh-sb__tpl:hover, .advh-plan .advh-sb__start button.advh-sb__tpl:focus { background: #fff !important; color: var(--advh-ink) !important; border: 1px solid #cfd7de !important; outline-offset: 2px; text-decoration: none !important; }
.advh-plan .advh-sb__start button.advh-sb__tpl:hover, .advh-plan .advh-sb__start button.advh-sb__tpl:focus-visible { border-color: var(--advh-ledger) !important; }
.advh-plan .advh-sb__start button.advh-sb__scratch { border: 2px dashed #9fb1bf !important; }
.advh-sb__tpl .advh-sb__tpltext strong { color: var(--advh-ink); }
.advh-sb__tpl .advh-sb__tpltext span { color: #4f5d6a; }
.advh-sb__tpl .advh-sb__tpltext em, .advh-sb__tpl .advh-sb__use { color: var(--advh-ledger); }
.advh-plan .advh-sb__start button.advh-sb__toggle, .advh-plan .advh-sb__start button.advh-sb__toggle:hover { background: #fff !important; color: var(--advh-ink) !important; border: 1px solid var(--advh-ink) !important; text-decoration: none !important; }
.advh-plan .advh-sb__start button.advh-sb__toggle:hover { background: var(--advh-ink) !important; color: #fff !important; }

/* Builder buttons: keep their own look under themes that style every button. */
.advh-plan .advh-sb__device button, .advh-plan .advh-sb__device button:hover { background: #fff !important; color: var(--advh-ink) !important; border: 1px solid var(--advh-ink) !important; text-decoration: none !important; box-shadow: none !important; }
.advh-plan .advh-sb__device button[aria-pressed="true"] { background: var(--advh-ink) !important; color: #fff !important; }
.advh-plan button.advh-sb__add, .advh-plan button.advh-sb__add:hover { background: #fff !important; color: var(--advh-ledger) !important; border: 2px dashed var(--advh-ledger) !important; text-decoration: none !important; box-shadow: none !important; }
.advh-plan button.advh-sb__add:hover { background: #eef5f1 !important; }
.advh-plan button.advh-sb__remove, .advh-plan button.advh-sb__remove:hover { background: transparent !important; color: #a12c2c !important; border: 0 !important; text-decoration: underline !important; box-shadow: none !important; padding: .2em 0 !important; }

/* Images placed by content packs */
.advh-figure { margin: 1.8em 0; }
.advh-figure img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 8px; }
.advh-figure figcaption { margin-top: .5em; font-size: .85em; color: var(--advh-muted, #5b6b7b); text-align: center; }

/* Save as PDF: the script copies the sheet into #advh-plan-print and everything else is removed from the printout. */
#advh-plan-print { display: none; }
@media print {
	body.advh-plan-printing > *:not(#advh-plan-print) { display: none !important; }
	body.advh-plan-printing #advh-plan-print { display: block; }
	#advh-plan-print .advh-plan__sheet { box-shadow: none; border-left: 0; border-right: 0; border-bottom: 0; border-top-width: 4pt; padding: 0; font-size: 8.6pt; line-height: 1.32; }
	#advh-plan-print .advh-plan__sheet h2 { font-size: 17pt; }
	#advh-plan-print .advh-plan__head { padding-bottom: .5em; margin-bottom: .7em; }
	#advh-plan-print .advh-plan__grid { gap: .55em 1.2em; }
	#advh-plan-print .advh-plan__numbers { margin: .7em 0; padding: .5em 0; }
	#advh-plan-print .advh-plan__foot { margin-top: .6em; }
	#advh-plan-print .is-blank { display: none; }
	#advh-plan-print .advh-plan__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#advh-plan-print .advh-plan__numbers dl { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	#advh-plan-print .advh-plan__sec, #advh-plan-print .advh-plan__numbers { break-inside: avoid; }
	#advh-plan-print .advh-rk__printsheet { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10mm; }
	#advh-plan-print .advh-rk__card { max-width: none; margin: 0; padding: 8mm 6mm 6mm; break-inside: avoid; border: 1.5pt dashed #555; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	#advh-plan-print .advh-rk__qr { width: 48mm; max-width: none; }
	/* Business cards: home sheets (US Letter, standard 10-up layout) and print shop pages with bleed. */
	#advh-plan-print .advh-card-sheet { page: cardsheet; position: relative; width: 8.5in; height: 11in; break-after: page; overflow: hidden; }
	#advh-plan-print .advh-card-sheet:last-child { break-after: auto; }
	#advh-plan-print .advh-card-grid { position: absolute; top: 0.5in; left: 0.75in; display: grid; grid-template-columns: 3.5in 3.5in; grid-auto-rows: 2in; }
	#advh-plan-print .advh-card-grid .advh-card { width: 3.5in; height: 2in; aspect-ratio: auto; }
	#advh-plan-print .advh-cut { position: absolute; background: #000; }
	#advh-plan-print .advh-cut--v { width: 0.5pt; }
	#advh-plan-print .advh-cut--h { height: 0.5pt; }
	#advh-plan-print .advh-shop-page { page: cardshop; position: relative; width: 3.75in; height: 2.25in; overflow: hidden; break-after: page; }
	#advh-plan-print .advh-shop-page:last-child { break-after: auto; }
	#advh-plan-print .advh-shop-page .advh-card { --bleed: 0.125in; width: 3.75in; height: 2.25in; aspect-ratio: auto; }
	#advh-plan-print .advh-shop-page .advh-card--split.advh-card--front { --edge: calc(0.125in + 0.38 * 3.5in); }
	@page { margin: 11mm; }
	/* Named card pages come after the general rule and override its margins. */
	@page cardsheet { size: 8.5in 11in; margin: 0 !important; }
	@page cardshop { size: 3.75in 2.25in; margin: 0 !important; }
	@page ivdoc { size: 8.5in 11in; margin: 0.6in 0.65in !important; }
	@page flyerpage { size: 8.5in 11in; margin: 0 !important; }
	@page gcpage { size: 8.5in 11in; margin: 0 !important; }
	#advh-plan-print .advh-gc-page { page: gcpage; position: relative; width: 8.5in; height: 11in; overflow: hidden; break-after: page; }
	#advh-plan-print .advh-gc-page:last-child { break-after: auto; }
	#advh-plan-print .advh-gc-spot { position: absolute; left: 0.5in; width: 7.5in; height: 3.25in; }
	#advh-plan-print .advh-gc-spot:nth-of-type(1) { top: 0.5in; }
	#advh-plan-print .advh-gc-spot:nth-of-type(2) { top: 3.75in; }
	#advh-plan-print .advh-gc-spot:nth-of-type(3) { top: 7in; }
	#advh-plan-print .advh-gc-spot .advh-gc-cert { width: 7.5in; height: 3.25in; aspect-ratio: auto; }
	#advh-plan-print .advh-flyer-page { page: flyerpage; width: 8.5in; height: 11in; overflow: hidden; }
	#advh-plan-print .advh-flyer-page .advh-flyer { width: 8.5in; height: 11in; aspect-ratio: auto; }
	#advh-plan-print.advh-print-doc .advh-iv__sheet { page: ivdoc; border: 0; border-top: 6pt solid var(--c1); box-shadow: none; padding: 0.25in 0 0; font-size: 10pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	#advh-plan-print.advh-print-doc .advh-iv__table thead { display: table-header-group; }
	#advh-plan-print a::after { content: none !important; }
}
@media (prefers-reduced-motion: reduce) { .advh-plan * { transition: none !important; } }
