/*
 * Alberta Maple Care — homepage.
 * Clean, modern, correctly-sized. Rich but smooth motion (no scroll-jacking).
 * Scoped to .amc-home so it never touches the rest of the theme.
 */
.amc-home {
	--surface-alt: var(--wp--preset--color--surface-alt);
	--shell: 1410px;
	--r-card: 20px;
}
.amc-home { color: var(--text); line-height: 1.6; }
.amc-home .shell { width: min(100% - 2 * var(--wp--custom--container--gutter), var(--shell)); margin-inline: auto; }
.amc-home h1, .amc-home h2, .amc-home h3 { color: var(--green); font-weight: 700; letter-spacing: -.02em; text-wrap: balance; margin: 0; line-height: 1.1; }
.amc-home p { margin: 0; }
.amc-home a { text-decoration: none; color: inherit; }
.amc-home img { display: block; max-width: 100%; }

.amc-home .eyebrow.on-dark { color: #fff; background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.32); }

/* Buttons */
.amc-home .btn { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; gap: .55em; padding: .9em 1.7em; border-radius: 999px; font-weight: 700; font-size: 1rem; cursor: pointer; border: 2px solid transparent; transition: color .3s ease, border-color .3s ease, transform .25s var(--ease), box-shadow .25s var(--ease); }
/* Hover fill: a SOLID colour panel sweeps across from the left. It sits above the
   base colour but below the label (z-index:-1 within the button's own stacking
   context) and is inset -2px so it also covers the border — no gradient edge, so
   no colour sliver at either edge in any state. */
.amc-home .btn::after { content: ""; position: absolute; inset: -2px; z-index: -1; border-radius: inherit; transform: translateX(-101%); transition: transform .5s var(--ease); }
.amc-home .btn:hover::after { transform: translateX(0); }
/* Gold button: gold base, deep green sweeps in on hover, text turns white. */
.amc-home .btn-gold { background-color: var(--gold); color: var(--green); box-shadow: 0 12px 28px -12px rgba(231,174,18,.8); }
.amc-home .btn-gold::after { background: var(--green); }
.amc-home .btn-gold:hover { color: #fff; border-color: var(--green); transform: translateY(-2px); box-shadow: 0 18px 36px -14px rgba(17,78,70,.5); }
/* Ghost buttons fill green on hover. */
.amc-home .btn-ghost { background-color: transparent; border-color: var(--green); color: var(--green); }
.amc-home .btn-ghost::after { background: var(--green); }
.amc-home .btn-ghost:hover { color: #fff; }
.amc-home .btn-ghost.on-dark { color: #fff; border-color: rgba(255,255,255,.6); }
.amc-home .btn-ghost.on-dark::after { background: #fff; }
.amc-home .btn-ghost.on-dark:hover { color: var(--green); border-color: #fff; }
.amc-home .btn .arw { font-size: 1.18em; line-height: 1; transition: transform .25s var(--ease); }
.amc-home .btn:hover .arw { transform: translateX(3px); }
/* Signature gold button: white circular arrow badge (matches the old site). */
.amc-home .btn-gold { padding-left: .5em; }
.amc-home .btn-gold .arw { display: none; }
.amc-home .btn-gold::before { content: ""; width: 2.15em; height: 2.15em; border-radius: 50%; flex: 0 0 auto; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23114E46' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 1.15em no-repeat; transition: transform .25s var(--ease); }
.amc-home .btn-gold:hover::before { transform: translateX(2px); }

/* Signature gold circle on a hero word */
.amc-home .mark { position: relative; color: var(--green); white-space: nowrap; }
.amc-home .mark svg { position: absolute; left: -6%; top: -12%; width: 112%; height: 128%; overflow: visible; pointer-events: none; }
.amc-home .mark svg path { fill: none; stroke: var(--gold); stroke-width: 6; stroke-linecap: round; stroke-dasharray: 620; stroke-dashoffset: 620; }
.amc-home.ready .mark svg path { animation: home-draw 1s var(--ease) .5s forwards; }
@keyframes home-draw { to { stroke-dashoffset: 0; } }

/* ---------- Hero (full-bleed photo + green overlay) ---------- */
.amc-home .hero { position: relative; min-height: min(82svh, 760px); display: flex; align-items: center; overflow: hidden; background: var(--green-deep); isolation: isolate; }
.amc-home .hero__bg { position: absolute; inset: 0; z-index: -2; }
.amc-home .hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 64% center; display: block; opacity: 0; transition: opacity 1.8s ease; }
.amc-home .hero__photo.is-active { opacity: 1; }
/* B+D motion: the server-picked lead settles on arrival, then every slide
   drifts perpetually (alternate keeps it seamless — no snap when slides swap).
   home.js injects three companions after load and rotates .is-active. */
.amc-home.ready .hero__photo { animation: hero-drift 26s linear infinite alternate; }
.amc-home.ready .hero__photo--lead { animation: hero-settle 2.4s var(--ease) both, hero-drift 26s 2.4s linear infinite alternate; }
@keyframes hero-settle { from { transform: scale(1.07); } to { transform: none; } }
@keyframes hero-drift { from { transform: scale(1); } to { transform: scale(1.09); } }
.amc-home .hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background:
	linear-gradient(96deg, rgba(12,58,52,.95) 0%, rgba(12,58,52,.74) 32%, rgba(12,58,52,.36) 62%, rgba(12,58,52,.06) 90%),
	linear-gradient(0deg, rgba(12,58,52,.5) 0%, transparent 30%); }
.amc-home .hero__inner { padding-block: clamp(3rem, 6vw, 5rem); }
.amc-home .hero__content { max-width: 640px; }
.amc-home .hero__content > * + * { margin-top: 1.3rem; }
.amc-home .hero h1 { color: #fff; font-size: var(--wp--preset--font-size--h-1); line-height: 1.08; letter-spacing: -.01em; text-shadow: 0 2px 30px rgba(12,58,52,.5); }
.amc-home .hero h1 .hl { color: var(--gold); }
.amc-home .hero__sub { color: rgba(255,255,255,.92); font-size: clamp(1.05rem, 1.5vw, 1.2rem); max-width: 48ch; }
.amc-home .hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; }
.amc-home .hero__chips { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; padding-top: .5rem; }
.amc-home .hero__chips span { display: inline-flex; align-items: center; gap: .4rem; font-size: .92rem; font-weight: 600; color: #fff; text-shadow: 0 1px 12px rgba(12,58,52,.55); }
.amc-home .hero__chips span::before { content: "✓"; color: var(--gold); font-weight: 800; }
.amc-home .hero__chips a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(245,194,51,.7); }
.amc-home .hero__chips a:hover { color: var(--gold); }
.amc-home .hero__signoff { margin-top: .9rem; font-size: .9rem; color: rgba(255,255,255,.95); text-shadow: 0 1px 12px rgba(12,58,52,.6); }
.amc-home .nowrap { white-space: nowrap; }
.amc-home .hero__pause { position: absolute; right: 1rem; bottom: 1rem; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; background: rgba(12,58,52,.72); color: #fff; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; font: inherit; font-size: .82rem; cursor: pointer; transition: background .2s ease; }
.amc-home .hero__pause:hover { background: rgba(12,58,52,.92); }
.amc-home .hero__pause:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
@media (hover: none) { .amc-home .hero__pause { display: none; } } /* rotation is already static on touch */

/* ---------- Stats ---------- */
.amc-home .stats { background: var(--green); color: #fff; padding: clamp(2.4rem,4vw,3.4rem) 0; }
.amc-home .stats__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; }
.amc-home .stat { position: relative; padding-left: 1.2rem; }
.amc-home .stat::before { content: ""; position: absolute; left: 0; top: .3em; bottom: .3em; width: 3px; border-radius: 3px; background: linear-gradient(var(--gold), var(--teal)); }
.amc-home .stat .num { font-size: clamp(2rem,3.4vw,2.8rem); font-weight: 700; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.amc-home .stat .num .suf { color: var(--gold); }
.amc-home .stat .lab { margin-top: .5rem; color: rgba(255,255,255,.88); font-size: .92rem; max-width: 20ch; }

/* ---------- Section shell ---------- */
.amc-home .section { padding: clamp(3.5rem,7vw,6rem) 0; }
.amc-home .section.surface { background: var(--surface); }
.amc-home .section.alt { background: var(--surface-alt); }
.amc-home .sec-head { max-width: 62ch; }
.amc-home .sec-head.center { margin-inline: auto; text-align: center; }
.amc-home .sec-head h2 { font-size: var(--wp--preset--font-size--h-2); margin-top: .8rem; }
/* The badge is inline-flex, so its 1rem gap (design.css) and a heading's own
   top margin STACK rather than collapse — zero the heading's share whenever a
   badge directly precedes it, keeping one 1rem rhythm site-wide. */
.amc-home .sec-head .eyebrow + h2, .amc-home .hero__content .eyebrow + h1 { margin-top: 0; }
.amc-home .sec-head p { margin-top: 1rem; font-size: 1.08rem; color: var(--text); max-width: 52ch; }
.amc-home .sec-head.center p { margin-inline: auto; }
.amc-home .sec-topbar { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; justify-content: space-between; }

/* ---------- Services bento ---------- */
.amc-home .svc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; margin-top: clamp(2rem,4vw,3rem); }
.amc-home .svc { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-card); overflow: hidden; color: inherit; text-decoration: none; box-shadow: var(--wp--preset--shadow--card); transition: transform .3s var(--ease), box-shadow .3s var(--ease); transform-style: preserve-3d; }
.amc-home .svc .illo { display: block; background: var(--surface-alt); overflow: hidden; }
.amc-home .svc .illo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 40%; transition: transform .6s var(--ease); }
.amc-home .svc .body { display: flex; flex-direction: column; gap: .3rem; padding: 1.05rem 1.25rem 1.25rem; }
.amc-home .svc .cat { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--teal); font-weight: 700; }
.amc-home .svc h3 { color: var(--green-deep); font-size: clamp(1.05rem,1.4vw,1.28rem); margin: 0; line-height: 1.2; }
.amc-home .svc .go { margin-top: .35rem; font-size: .88rem; font-weight: 700; color: var(--teal); transition: transform .3s var(--ease); }
.amc-home .svc:hover { transform: translateY(-4px); box-shadow: 0 34px 60px -34px rgba(12,58,52,.55); }
.amc-home .svc:hover .illo img { transform: scale(1.05); }
.amc-home .svc:hover .go { transform: translateX(4px); }
.amc-home .svc:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

/* ---------- Why us ---------- */
.amc-home .why__grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(2rem,4vw,4rem); align-items: center; }
.amc-home .why__media { position: relative; border-radius: 26px; overflow: hidden; aspect-ratio: 4/3.9; box-shadow: 0 30px 60px -34px rgba(17,78,70,.44); }
.amc-home .why__media img { width: 100%; height: 110%; object-fit: cover; object-position: center 32%; will-change: transform; }
/* comfortable spacing between the pill, heading, and lead */
.amc-home .why__grid .eyebrow { margin-bottom: 1rem; }
.amc-home .why__grid h2 { margin: 0; line-height: 1.12; }
.amc-home .why h2 { font-size: var(--wp--preset--font-size--h-2); }
.amc-home .why__lead { margin-top: 1rem; font-size: 1.1rem; color: var(--text); max-width: 46ch; }

/* "Why families choose us" v2 — option C3 (leaf-framed image, conversion-four
   ledger). Grid areas: image left spanning both rows on desktop; on mobile the
   natural head -> image -> body flow puts the leaf after the lead paragraph. */
.amc-home .why2 { display: grid; grid-template-columns: 44% 1fr; grid-template-areas: "img head" "img body"; column-gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.amc-home .why2__head { grid-area: head; align-self: end; }
.amc-home .why2__head .eyebrow { margin-bottom: 1rem; }
.amc-home .why2__head h2 { margin: 0; line-height: 1.12; }
.amc-home .why2__media { grid-area: img; align-self: center; }
.amc-home .why2__media img { width: 100%; height: auto; }
.amc-home p.why2__cap { font-size: .88rem; color: var(--text); display: flex; gap: .55rem; align-items: baseline; margin: .2rem 0 0 6%; }
.amc-home p.why2__cap::before { content: ""; flex: none; width: 26px; height: 3px; border-radius: 3px; background: var(--gold); transform: translateY(-.22em); }
.amc-home p.why2__cap--proud { color: var(--green); font-weight: 600; }
.amc-home p.why2__cap--proud::before { width: 15px; height: 15px; border-radius: 0; background: url("../images/leaf-solid.webp") no-repeat center / contain; transform: translateY(.1em); }
.amc-home .why2__body { grid-area: body; align-self: start; }
.amc-home .why2__ledger { list-style: none; padding: 0; margin: 1.7rem 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 2.2rem; }
.amc-home .why2__ledger li { display: flex; gap: .75rem; padding: 1rem 0; border-bottom: 1px solid var(--border); }
.amc-home .why2__ledger .lf { flex: none; width: 20px; height: 19px; margin-top: .2rem; background: url("../images/leaf-solid.webp") no-repeat center / contain; }
.amc-home .why2__ledger b { color: var(--green); display: block; font-size: .98rem; }
.amc-home .why2__ledger span { color: var(--text); font-size: .9rem; }
.amc-home p.why2__plus { margin-top: 1.1rem; font-size: .92rem; color: var(--text); }
.amc-home .why2__plus b { color: var(--green); font-weight: 600; }
.amc-home .why2__plus a { color: var(--teal); font-weight: 700; white-space: nowrap; }
.amc-home .why2__cta { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; margin-top: 1.5rem; }
.amc-home .why2__lnk { color: var(--teal); font-weight: 700; font-size: .95rem; }
.amc-home .why2__plus a:hover .arw, .amc-home .why2__lnk:hover .arw { transform: translateX(3px); }
.amc-home .why2__plus .arw, .amc-home .why2__lnk .arw { display: inline-block; transition: transform .2s var(--ease); }
.amc-home .why__list { list-style: none; padding: 0; margin: 1.8rem 0 0; display: grid; gap: .9rem; }
.amc-home .why__list li { display: flex; gap: .9rem; padding: 1rem 1.1rem; border-radius: 14px; background: #fff; border: 1px solid var(--border); transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
.amc-home .why__list li:hover { transform: translateX(5px); box-shadow: 0 14px 30px -18px rgba(17,78,70,.4); }
.amc-home .why__more { margin-top: 1.1rem; }
.amc-home .why__more a { display: inline-flex; align-items: center; gap: .4em; color: var(--teal); font-weight: 700; font-size: .95rem; }
.amc-home .why__more a:hover .arw { transform: translateX(3px); }
.amc-home .why__more .arw { display: inline-block; transition: transform .2s var(--ease); }
.amc-home .why__list .ic { width: 40px; height: 40px; flex: none; border-radius: 11px; background: linear-gradient(135deg, var(--gold), var(--gold-strong)); display: grid; place-items: center; color: var(--green); }
.amc-home .why__list b { color: var(--green); display: block; font-size: 1rem; }
.amc-home .why__list span { color: var(--text); font-size: .93rem; }

/* ---------- Steps ---------- */

/* ---------- CDHCI funding-check band ---------- */
.amc-home .fundcta__card { display: flex; align-items: center; gap: clamp(1.4rem,3vw,2.6rem); padding: clamp(1.6rem,3.5vw,2.6rem); background: #fff; border: 1px solid var(--border); border-radius: 24px; box-shadow: var(--wp--preset--shadow--floating); }
.amc-home .fundcta__illo { flex: 0 0 auto; width: clamp(96px,12vw,148px); height: clamp(96px,12vw,148px); border-radius: 18px; overflow: hidden; background: var(--surface-alt); border: 1px solid var(--border); }
.amc-home .fundcta__illo img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.amc-home .fundcta__text { flex: 1 1 auto; min-width: 0; }
.amc-home .fundcta__text h2 { font-size: var(--wp--preset--font-size--h-2-sm); margin-top: .8rem; }
.amc-home .fundcta__text .eyebrow + h2 { margin-top: 0; }
.amc-home .fundcta__sub { margin-top: .7rem; color: var(--text); max-width: 52ch; }
.amc-home .fundcta .btn { flex: 0 0 auto; }
/* The guide figure stands on the card's bottom edge, overlapping its top-left
   corner — her head rises above the card into the section space (owner mock). */
.amc-home .fundcta__card--guide { position: relative; padding-left: clamp(250px, 28vw, 345px); }
.amc-home .fundcta__guide { position: absolute; left: clamp(-2.4rem, -2vw, -1rem); bottom: 0; height: calc(100% + clamp(48px, 7vw, 92px)); width: auto; pointer-events: none; }
@media (max-width: 860px) {
	.amc-home .fundcta__card { flex-direction: column; align-items: flex-start; }
	.amc-home .fundcta__card--guide { padding-left: clamp(1.6rem, 3.5vw, 2.6rem); padding-top: 96px; }
	.amc-home .fundcta__guide { height: 170px; left: auto; right: .6rem; bottom: auto; top: -46px; }
}

/* ---------- Testimonials (wall + abstract corner-lit backdrop) ---------- */
.amc-home .testi { position: relative; overflow: hidden; background: var(--cream); }
.amc-home .testi > .shell { position: relative; z-index: 1; }
/* abstract SVG glows + a faint autumn maple-leaf texture that fades to the edges
   (Proposal C, Option 1 — replaces the old squares grid) */
.amc-home .testi__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.amc-home .testi__svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.amc-home .testi__bg::after {
	content: ""; position: absolute; inset: 0;
	background: url("../textures/maple-line.webp") repeat;
	background-size: 460px auto;
	opacity: .5;
	-webkit-mask-image: radial-gradient(ellipse 78% 72% at 50% 42%, #000 38%, transparent 100%);
	        mask-image: radial-gradient(ellipse 78% 72% at 50% 42%, #000 38%, transparent 100%);
}
.amc-home .testi__head { text-align: center; max-width: 640px; margin: 0 auto clamp(2rem,4vw,3rem); }
.amc-home .testi__head .eyebrow { margin-bottom: 1rem; }
.amc-home .testi__head h2 { color: var(--green); font-size: var(--wp--preset--font-size--h-2); font-weight: 700; letter-spacing: -.02em; line-height: 1.12; margin: 0; text-wrap: balance; }
.amc-home .testi__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); gap: clamp(1rem,2vw,1.5rem); }
.amc-home .tcard { display: flex; flex-direction: column; gap: 1rem; background: #fff; border: 1px solid var(--border); border-radius: var(--r-card); padding: 1.5rem 1.5rem 1.4rem; box-shadow: var(--wp--preset--shadow--raised); transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.amc-home .tcard:hover { transform: translateY(-4px); box-shadow: 0 26px 54px -28px rgba(17,78,70,.55); border-color: color-mix(in srgb, var(--gold) 40%, var(--border)); }
.amc-home .tcard blockquote { margin: 0; color: var(--text); font-size: 1rem; line-height: 1.6; }
.amc-home .tcard__who { margin-top: auto; display: flex; align-items: center; gap: .75rem; padding-top: .3rem; }
.amc-home .tcard__avatar { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%; overflow: hidden; background: var(--wp--preset--color--surface-alt); border: 2px solid #fff; box-shadow: 0 0 0 1px var(--border); }
.amc-home .tcard__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.amc-home .tcard__meta { display: flex; flex-direction: column; line-height: 1.3; }
.amc-home .tcard__meta b { color: var(--green); font-size: .98rem; }
.amc-home .tcard__meta span { color: var(--muted); font-size: .85rem; }

/* ---------- CTA ---------- */
.amc-home .cta { background: var(--gold); text-align: center; }
.amc-home .cta__inner { max-width: 760px; margin-inline: auto; }
.amc-home .cta h2 { font-size: var(--wp--preset--font-size--h-2-lg); color: var(--green); }
.amc-home .cta p { margin-top: 1rem; color: rgba(17,78,70,.85); font-size: 1.12rem; }
.amc-home .cta__btns { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; margin-top: 1.8rem; }
/* Green pill on the gold band — sweeps WHITE with green text (a green or gold
   sweep would vanish against the button or the band). */
.amc-home .cta .btn-dark { background: var(--green); color: #fff; }
.amc-home .cta .btn-dark::after { background: #fff; }
.amc-home .cta .btn-dark:hover { color: var(--green); transform: translateY(-2px); }

/* ---------- Motion: smooth reveals (no scroll-jacking) ---------- */
.amc-home [data-rise] { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.amc-home [data-rise].in { opacity: 1; transform: none; }
.amc-home [data-rise][data-d="1"] { transition-delay: .08s; }
.amc-home [data-rise][data-d="2"] { transition-delay: .16s; }
.amc-home [data-rise][data-d="3"] { transition-delay: .24s; }
.amc-home [data-rise][data-d="4"] { transition-delay: .32s; }
.amc-home [data-rise][data-d="5"] { transition-delay: .40s; }
.amc-home [data-rise][data-d="6"] { transition-delay: .48s; }
.amc-home [data-rise][data-d="5"] { transition-delay: .40s; }
/* hero on-load stagger — hidden state only when JS is present to reveal it
   (the .js class is added by an inline head script), so no-JS visitors and
   crawler fallbacks always see the hero content. */
.js .amc-home .hero [data-load] { opacity: 0; transform: translateY(20px); }
.amc-home.ready .hero [data-load] { animation: home-rise .8s var(--ease) forwards; }
.amc-home.ready .hero [data-load]:nth-child(1) { animation-delay: .05s; }
.amc-home.ready .hero [data-load]:nth-child(2) { animation-delay: .15s; }
.amc-home.ready .hero [data-load]:nth-child(3) { animation-delay: .25s; }
.amc-home.ready .hero [data-load]:nth-child(4) { animation-delay: .35s; }
.amc-home.ready .hero [data-load]:nth-child(5) { animation-delay: .45s; }
@keyframes home-rise { to { opacity: 1; transform: none; } }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	.amc-home .hero { min-height: min(86svh, 700px); align-items: flex-end; }
	.amc-home .hero__inner { padding-block: clamp(2rem, 6vw, 3rem); }
	.amc-home .hero__content { max-width: none; }
	.amc-home .hero__photo { object-position: 60% 30%; }
	.amc-home .hero::after { background:
		linear-gradient(180deg, rgba(12,58,52,.35) 0%, rgba(12,58,52,.3) 34%, rgba(12,58,52,.7) 70%, rgba(12,58,52,.95) 100%); }
	.amc-home .why2 { grid-template-columns: 1fr; grid-template-areas: "head" "img" "body"; }
	.amc-home .why2__media { max-width: 480px; margin: 1.6rem auto 0; }
	.amc-home .why2__ledger { grid-template-columns: 1fr; }
	.amc-home .stats__grid { grid-template-columns: 1fr 1fr; gap: 1.6rem; }
	.amc-home .svc-grid { grid-template-columns: repeat(2,1fr); }
	}
@media (max-width: 560px) {
	.amc-home .hero__cta { display: grid; grid-template-columns: 1fr; }
	.amc-home .hero__cta .btn { justify-content: center; }
	.amc-home .stats__grid { grid-template-columns: 1fr 1fr; }
	.amc-home .svc-grid { grid-template-columns: 1fr; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.amc-home [data-rise], .amc-home .hero [data-load] { opacity: 1 !important; transform: none !important; animation: none !important; }
	.amc-home .hero__photo { animation: none !important; transition: none !important; }
	.amc-home .mark svg path { stroke-dashoffset: 0 !important; animation: none !important; }
	.amc-home .svc, .amc-home .svc img, .amc-home .why__list li, .amc-home .btn { transition: none !important; }
}

/* ---- Home “Tight” proposal (audit H8/MIN-4/H7/PRF-2 preview) ---- */
.hero__urgent { margin-top: .9rem; font-size: .92rem; }
.hero__urgent a { color: #fff; opacity: .92; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.hero__urgent a:hover { color: var(--gold); opacity: 1; }
.amc-home--tight .svc-grid { grid-auto-flow: dense; }
.amc-home--tight .svc--featured { grid-column: span 2; flex-direction: row; align-items: stretch; min-height: 290px; }
.amc-home--tight .svc--featured h3 { font-size: 1.45rem; }
.amc-home--tight .svc__blurb { color: var(--ink); font-size: .95rem; line-height: 1.55; margin: .3rem 0 .6rem; }
.amc-home--tight .svc--tile { background: var(--wp--preset--color--surface-alt, #EFECE5); }
.amc-home--tight .svc--tile .body { justify-content: center; flex: 1; }
.amc-home--tight .svc--tile h3 { font-size: 1.25rem; }
.amc-home--tight .svc--tile-all { background: var(--wp--preset--color--secondary, #114E46); border-color: var(--wp--preset--color--secondary, #114E46); }
.amc-home--tight .svc--tile-all .cat, .amc-home--tight .svc--tile-all h3 { color: #fff; }
.amc-home--tight .svc--tile-all .go { color: var(--gold); }
.why__proof { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; margin-top: 1.4rem; padding-top: 1.1rem; border-top: 1px solid var(--wp--preset--color--border, #E2DFDA); font-size: .95rem; color: var(--ink); }
.why__proof b { color: var(--wp--preset--color--secondary, #114E46); font-size: 1.15rem; margin-right: .25rem; }


/* Tight variant: three grid rows must cost less than the old two — hard-cap
   the card media height so rows are predictable regardless of image ratios. */
.amc-home--tight .svc .illo { height: 250px; flex: none; }
.amc-home--tight .svc .illo img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; object-position: center 30%; }
.amc-home--tight .svc .body { padding: 0.9rem 1.15rem 1.05rem; }
.amc-home--tight .svc--featured .illo { height: auto; flex: 0 0 44%; position: relative; overflow: hidden; }
.amc-home--tight .svc--featured .illo img { position: absolute; inset: 0; object-position: center 32%; }
.amc-home--tight .svc--featured .body { padding: 1.3rem 1.5rem; }


/* Hero tagline as handwriting (owner pick: bare white Ms Madi). The script
   wipes in left-to-right like it is being written, then the hand-drawn gold
   swoosh scratches itself underneath. Reduced motion gets the finished state. */
.amc-home .hero p.eyebrow--hand { background: none; border: none; box-shadow: none; padding: 0; font-family: var(--wp--preset--font-family--ms-madi), cursive; text-transform: none; font-size: 1.9rem; font-weight: 400; letter-spacing: 0; color: rgba(255, 255, 255, 0.95); }
.amc-home .hero .eyebrow--hand .write { position: relative; display: inline-block; padding-bottom: 0.28em; clip-path: inset(-30% 101% -5% 0); }
.amc-home.ready .hero .eyebrow--hand .write { animation: amc-write 1.6s cubic-bezier(0.55, 0.06, 0.4, 0.95) 0.4s forwards; }
@keyframes amc-write { to { clip-path: inset(-30% -8% -5% 0); } }
.amc-home .hero .eyebrow--hand .write::after { content: ""; position: absolute; left: -0.05em; right: -0.05em; bottom: 0.02em; height: 0.3em; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24' preserveAspectRatio='none'%3E%3Cpath d='M4 16 C70 6 150 6 210 12 C250 16 280 18 296 12' fill='none' stroke='%23F5C233' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%; transform: scaleX(0); transform-origin: left; }
.amc-home.ready .hero .eyebrow--hand .write::after { animation: amc-scratch 0.45s ease-out 2.05s forwards; }
@keyframes amc-scratch { to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
	.amc-home .hero .eyebrow--hand .write { clip-path: none; animation: none; }
	.amc-home .hero .eyebrow--hand .write::after { transform: none; animation: none; }
}

/* Quiz tile: Rose, one of the watercolor guides, welcomes the undecided. */
.amc-home--tight .svc--tile .tile-avatar { display: flex; justify-content: center; padding-top: 1.2rem; }
.amc-home--tight .svc--tile .tile-avatar img { width: 132px; height: 132px; border-radius: 50%; object-fit: cover; border: 3px solid var(--gold); background: #fff; }


/* Services and the funding teaser share the surface ground — halve the double
   padding between them so they read as one zone (owner request). */
/* Top padding reserves room for the guide figure's head, which rises
   clamp(48-92px) above the card — it must not invade the services section. */
.amc-home--tight .section.fundcta { padding-top: clamp(60px, 8vw, 104px); }
.amc-home--tight > section[aria-label="Services"] { padding-bottom: clamp(1.5rem, 3vw, 2.2rem); }

/* Mobile featured card: stacked, media matching the standard 250px height.
   Lives at the end of the sheet so it outranks the desktop featured rules. */
@media (max-width: 620px) {
	.amc-home--tight .svc--featured { grid-column: auto; flex-direction: column; min-height: 0; }
	.amc-home--tight .svc--featured .illo { position: static; height: 250px; flex: none; }
	.amc-home--tight .svc--featured .illo img { position: static; width: 100%; height: 100%; object-fit: cover; }
}
