/*
Theme Name: Alta Finance
Theme URI: https://alta-finance.example
Author: Alta Finance
Description: Plugin-free block theme for Alta Finance.
Version: 1.0.0
Requires at least: 6.9
Requires PHP: 8.2
License: GPL-2.0-or-later
Text Domain: alta-finance
*/

/* Forms */
.af-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.af-form input, .af-form textarea { font: inherit; color: #fff; }
.af-form--contact .af-field { margin: 0 0 1.5rem; }
.af-form--contact label { display: block; font-size: 11px; color: var(--wp--preset--color--muted); margin-bottom: .25rem; }
.af-form--contact input, .af-form--contact textarea { width: 100%; background: transparent; border: 0; border-bottom: 1px solid #fff; border-radius: 0; padding: .5rem 0; }
.af-form ::placeholder { color: #ffffff80; }
.af-submit { cursor: pointer; border: 0; background: var(--wp--preset--color--orange); color: #fff; font: inherit; }
.af-submit--round { width: 56px; height: 56px; border-radius: 50%; font-size: 24px; }
.af-form--newsletter .af-row { display: flex; }
.af-form--newsletter input { flex: 1; min-width: 0; background: #fff; color: var(--wp--preset--color--navy); border: 0; padding: .9rem 1rem; }
.af-submit--rect { padding: 0 1.5rem; font-weight: 600; letter-spacing: .05em; }
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; word-wrap: normal; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--wp--preset--color--orange); outline-offset: 2px; }
.af-form :focus-visible { outline: 2px solid var(--wp--preset--color--orange); outline-offset: 2px; }
.af-status { margin-top: 1rem; }
.af-status--error { color: var(--wp--preset--color--orange); }

/* Shared components */
.af-shadow { box-shadow: 0 10px 30px #1613431a; }
.af-shadow .wp-block-button__link { box-shadow: 0 10px 30px #1613431a; }
.af-pill, .af-pills a { display: inline-block; margin: 0; font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: 11px; line-height: 1; text-decoration: none; }
.af-pill { background: #f1f1f1; border-radius: 3px; padding: 8px 12px; }
.af-pill a { color: var(--wp--preset--color--navy); text-decoration: none; }
.af-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.af-pills a { background: #f1f1f1; color: var(--wp--preset--color--navy); border-radius: 3px; padding: 6px 10px; }
.af-pills--white a { background: #fff; }
.af-pills a::before { content: "#"; }
.af-pills .wp-block-post-terms__separator { display: none; }
.af-card { border-radius: 16px; padding: 28px 24px; }
.af-card--white { box-shadow: 0 10px 30px #1613431a; padding: 28px 24px 32px; }
.af-label { display: flex; align-items: center; gap: 12px; margin: 0 0 .75rem; font-size: 11px; font-weight: 400; }
.af-label::after { content: ""; flex: 1; border-top: 1px solid var(--wp--preset--color--navy); }
.af-numbered-list { list-style: none; margin: 0; padding: 0; counter-reset: af; }
.af-numbered-list li { counter-increment: af; display: flex; align-items: baseline; gap: 8px; border-bottom: 1px solid var(--wp--preset--color--navy); padding: .6rem 0 .4rem; font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: 16px; }
.af-numbered-list li::before { content: counter(af, decimal-leading-zero) "."; font-family: var(--wp--preset--font-family--body); font-style: normal; font-weight: 600; font-size: 8px; }
.af-numbered-list a { flex: 1; color: var(--wp--preset--color--navy); text-decoration: none; }
.af-numbered-list a::after { content: "↗"; float: right; color: var(--wp--preset--color--orange); font-style: normal; font-size: 12px; }
.af-numbered-list--plain li { border: 0; padding: .2rem 0; font-size: 14px; }
.af-numbered-list--plain a::after { content: none; }
.af-scroll-row { overflow-x: auto; scroll-snap-type: x mandatory; gap: 24px; padding-bottom: 8px; }
.af-scroll-row > .af-card { flex: 0 0 min(680px, 86%); scroll-snap-align: start; }
.af-card__title { font-size: 20px; line-height: 1.1; margin: 0 0 4rem; }
.af-services .af-card p { font-size: 13px; line-height: 1.35; margin: 0 0 1rem; }
.af-services > h2 { font-size: clamp(36px, 4vw, 56px); margin-bottom: 1.5rem; }
.af-btn-small .wp-block-button__link { font-size: 10px; font-weight: 400; padding: 10px 14px; border-radius: 3px; }

/* Home: hero */
.af-hero { padding-top: 80px; text-align: center; }
.af-hero__kicker { font-size: clamp(18px, 1.8vw, 26px); margin: 0 0 .5rem; }
.af-hero__title { font-size: clamp(36px, 4.4vw, 64px); line-height: 1.1; margin: 0 0 2.5rem; }
.af-hero__buttons { margin-bottom: 3.5rem; gap: 16px; }
.af-hero__buttons .wp-block-button__link { padding: 18px 28px; font-size: 13px; }
.af-hero__meta { align-items: flex-start; }
.af-hero__meta p { margin: 0 0 .5rem; font-size: 11px; line-height: 1.3; }
.af-hero__tags { text-align: left; }
.af-hero__pills { gap: 12px; }
.af-hero__social .wp-block-social-links .wp-social-link, .af-hero__social .wp-social-link a { color: var(--wp--preset--color--navy); background: none; }

/* Home: featured + newsletter */
.af-featured { margin-top: 3rem; margin-bottom: 0; gap: 16px; }
.af-featured__top { gap: 16px; }
.af-featured .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.af-cover-card { border-radius: 6px; align-items: flex-end; padding: 24px 32px; }
.af-cover-card .wp-block-cover__background { background: linear-gradient(180deg, #16134300 30%, #161343e6 100%) !important; opacity: 1; }
.af-cover-card .wp-block-cover__inner-container { width: 100%; }
.af-cover-card .wp-block-post-title { font-family: var(--wp--preset--font-family--body); font-style: normal; font-weight: 600; font-size: 18px; line-height: 1.25; margin: 0 0 .75rem; color: #fff; }
.af-cover-card .wp-block-post-title a { color: #fff; text-decoration: none; }
.af-featured__top .af-cover-card { padding: 16px; }
.af-featured__top .af-cover-card .wp-block-post-title { font-size: 12px; }
.af-newsletter-box { border-radius: 6px; padding: 32px 40px; margin-top: 16px; }
.af-newsletter-box h3 { font-size: 28px; margin: 0 0 .5rem; }
.af-newsletter-box p { font-size: 9px; margin: 0 0 1.5rem; }
.af-newsletter-box .af-form--newsletter { max-width: 400px; }

/* Home: intro */
.af-intro { margin-top: 5rem; margin-bottom: 5rem; }
.af-intro__lead { font-size: 13px; line-height: 1.4; margin: 0 0 1.5rem; }
.af-intro__body { font-size: 20px; font-weight: 300; line-height: 1.4; margin: 0; }

/* Home: values + CTA */
.af-values { margin-top: 5rem; }
.af-values > h2 { font-size: clamp(32px, 3.4vw, 48px); margin-bottom: 1.5rem; }
.af-values__cover { padding: 64px 16px; min-height: 0; }
.af-values__grid { max-width: 1100px; margin-inline: auto; gap: 24px 24px; }
.af-values__grid .af-card { text-align: center; }
.af-values__grid h3 { font-size: 20px; margin: .75rem 0 1rem; }
.af-values__grid p { font-size: 12px; line-height: 1.35; margin: 0; }
.af-sep { width: 48px; margin: 0 auto 1rem; border: 0; border-top: 1px solid var(--wp--preset--color--navy); background: none; opacity: 1; }
.af-values__cta { margin: 40px 0 5rem; }
.af-cta { padding: 64px 16px; }
.af-cta .wp-block-cover__inner-container { max-width: 1100px; }
.af-cta h2 { font-size: clamp(32px, 3.4vw, 48px); line-height: 1.1; margin: 0 0 1.5rem; }
.af-cta p { font-size: 13px; max-width: 540px; }
.af-cta .wp-block-buttons { margin-top: 3rem; }

@media (max-width: 781px) {
	.af-hero { padding-top: 48px; }
	.af-hero__buttons { flex-direction: column; align-items: stretch; }
	.af-hero__buttons .wp-block-button, .af-hero__buttons .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
	.af-hero__meta { flex-direction: column; }
	.af-hero__social { order: -1; }
	.af-hero__social .wp-block-social-links { justify-content: center; }
	.af-hero__tags { text-align: center; }
	.af-hero__pills { justify-content: center; }
	.af-hero__meta p { font-size: 14px; }
	.af-services__rowcol { flex-basis: 100% !important; }
	.af-services__cols > .wp-block-column:first-child { display: none; }
	.af-scroll-row > .af-card { flex-basis: 80%; }
	.af-values__grid.af-values__grid { grid-template-columns: 1fr !important; }
	.af-cover-card { padding: 24px 16px; }
	.af-newsletter-box { padding: 24px 16px; }
	.af-newsletter-box p { font-size: 13px; }
	.af-newsletter-box .af-form--newsletter .af-row { flex-direction: column; gap: 12px; }
	.af-newsletter-box .af-submit--rect { padding: 1rem 1.5rem; align-self: flex-start; }
	.af-intro__body { font-size: 18px; }
	.af-cta .wp-block-buttons { flex-direction: column; align-items: flex-start; }
}
.af-pills a { text-transform: capitalize; }

/* Accompagnements */
.af-accomp-hero { grid-template-columns: 50% 1fr; gap: 0; margin-top: 3rem; align-items: center; }
.af-accomp-hero .wp-block-media-text__media img { display: block; width: 100%; aspect-ratio: 840 / 468; object-fit: cover; }
.af-accomp-hero .wp-block-media-text__content { padding: 0 0 0 48px; }
.af-accomp-hero__title { font-size: clamp(36px, 3.6vw, 52px); line-height: 1.1; margin: 0 0 1.5rem; color: var(--wp--preset--color--ink); }
.af-accomp-hero__text { font-size: 11px; line-height: 1.5; max-width: 380px; margin: 0 0 2.5rem; }
.af-accomp-hero .wp-block-button__link { padding: 16px 28px; font-size: 11px; }
.af-intro--accomp { margin-top: 5rem; }
.af-intro--accomp .af-intro__body { font-size: 15px; font-weight: 400; margin: 0 0 1.5rem; }
.af-profiles { margin-top: 6rem; gap: 64px; align-items: stretch; }
.af-profiles h2 { font-size: clamp(36px, 3.4vw, 48px); margin: 4rem 0 4rem; }
.af-profiles__grid { gap: 48px 48px; }
.af-profiles__grid h3 { font-size: 20px; line-height: 1.2; margin: 0 0 .75rem; }
.af-profiles__grid p { font-size: 11px; line-height: 1.5; margin: 0; }
.af-rule { width: 64px; margin: 0 0 1rem; border: 0; border-top: 1px solid var(--wp--preset--color--navy); background: none; opacity: 1; }
.af-profiles__photo, .af-profiles__photo img { height: 100%; margin: 0; }
.af-profiles__photo img { width: 100%; object-fit: cover; border-radius: 16px; display: block; }
.af-formules { margin-top: 7rem; }
.af-formules > h2 { font-size: clamp(36px, 4vw, 56px); margin: 0 0 2rem; }
.af-formules__intro { font-size: 11px; line-height: 1.5; max-width: 720px; margin: 0 0 1.25rem; }
.af-formules__cards { gap: 16px; margin-top: 3rem; }
.af-formule { display: flex; flex-direction: column; padding: 28px 24px 32px; border-radius: 20px; }
.af-formule h3 { font-size: 20px; margin: 0 0 .25rem; padding-left: 8px; }
.af-num { font-style: normal; font-weight: 500; margin-right: 4px; }
.af-formule__sub { font-family: var(--wp--preset--font-family--heading); font-size: 12px; margin: 0 0 1.5rem; padding-left: 0; }
.af-formule__list { font-size: 10px; line-height: 1.4; margin: 0 0 2rem; padding-left: 20px; }
.af-formule__list li { margin-bottom: .6rem; }
.af-formule__cta { margin-top: auto; padding-top: 3rem; }
.af-formule__cta .wp-block-button__link { font-size: 10px; padding: 12px 28px; }
.af-faq { margin-top: 6rem; padding: 64px 16px; }
.af-faq .wp-block-cover__inner-container { max-width: 1100px; }
.af-faq__box { border-radius: 8px; padding: 32px 28px 40px; }
.af-faq__box h2 { font-size: clamp(28px, 3vw, 40px); margin: 0 0 1.5rem; }
.af-faq .wp-block-details { border-bottom: 1px solid var(--wp--preset--color--navy); margin: 0; }
.af-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; list-style: none; padding: 14px 14px; font-family: var(--wp--preset--font-family--heading); font-size: 14px; color: var(--wp--preset--color--navy); }
.af-faq summary::-webkit-details-marker { display: none; }
.af-faq summary::after { content: ""; flex: none; width: 10px; height: 10px; border-right: 1.5px solid var(--wp--preset--color--navy); border-bottom: 1.5px solid var(--wp--preset--color--navy); transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.af-faq details[open] > summary::after { transform: rotate(-135deg); }
.af-faq summary:focus-visible { outline: 2px solid var(--wp--preset--color--orange); outline-offset: -2px; }
.af-faq .wp-block-details p { font-size: 12px; margin: 0; padding: 0 14px 16px; }
.af-faq__cta { margin-top: 2rem; }
.af-faq__cta .wp-block-button__link { font-size: 10px; padding: 12px 24px; border: 1px solid var(--wp--preset--color--navy); border-radius: 4px; }
.af-contact { margin: 0; }
.af-contact__cols { gap: 0; margin: 0; align-items: stretch; }
.af-contact__photo { position: relative; height: 100%; }
.af-contact__photo::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, color-mix(in srgb, var(--wp--preset--color--navy) 0%, transparent) 40%, var(--wp--preset--color--navy) 100%); }
.af-contact__main { padding: 64px 48px 64px 32px; }
.af-contact__head { margin-bottom: 3rem; gap: 16px; }
.af-contact__head h2 { font-size: clamp(40px, 4vw, 56px); margin: 0; }
.af-btn-pill .wp-block-button__link { border-radius: 999px; padding: 8px 24px; font-size: 9px; }
.af-contact .af-form--contact { max-width: 100%; }
.af-contact .af-form--contact .af-field { margin-bottom: 1.5rem; }

@media (min-width: 782px) {
	.af-contact .af-form--contact { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
	.af-contact .af-form--contact > input[type="hidden"], .af-contact .af-form--contact .af-status { grid-column: 1 / -1; }
	.af-contact .af-form--contact .af-field:has(#af-subject), .af-contact .af-form--contact .af-field:has(#af-message) { grid-column: 1 / -1; }
	.af-contact .af-form--contact .af-field:has(#af-message) { grid-row: 3; margin-right: 80px; }
	.af-contact .af-form--contact .af-submit { grid-row: 3; grid-column: 2; justify-self: end; align-self: end; margin-bottom: 1.5rem; }
}

@media (max-width: 781px) {
	.af-accomp-hero { grid-template-columns: 1fr !important; margin-top: 1.5rem; }
	.af-accomp-hero .wp-block-media-text__content { padding: 2rem 0 0; }
	.af-accomp-hero__text { font-size: 13px; max-width: none; }
	.af-accomp-hero .wp-block-button__link { font-size: 13px; padding: 16px 24px; }
	.af-intro--accomp { margin-top: 4rem; }
	.af-intro--accomp .af-intro__body { font-size: 15px; }
	.af-profiles { margin-top: 4rem; gap: 32px; }
	.af-profiles h2 { margin: 0 0 2rem; }
	.af-profiles__grid.af-profiles__grid, .af-formules__cards.af-formules__cards { grid-template-columns: 1fr !important; }
	.af-profiles__grid { gap: 32px; }
	.af-profiles__grid p, .af-formules__intro { font-size: 13px; }
	.af-profiles__photo img { height: auto; aspect-ratio: 389 / 460; }
	.af-formules { margin-top: 4rem; }
	.af-formule h3 { font-size: 22px; }
	.af-formule__sub { font-size: 14px; }
	.af-formule__list { font-size: 13px; }
	.af-formule__cta { padding-top: 1rem; }
	.af-formule__cta .wp-block-button__link { font-size: 14px; padding: 16px 28px; }
	.af-faq { margin-top: 4rem; padding: 48px 16px; }
	.af-faq summary { font-size: 15px; }
	.af-faq__cta .wp-block-button__link { font-size: 14px; }
	/* photo stacks above the form and fades to navy; heading + pill overlay the fade */
	.af-contact__photo { min-height: 460px !important; }
	.af-contact__photo::after { background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--navy) 0%, transparent) 35%, var(--wp--preset--color--navy) 100%); }
	.af-contact__main { position: relative; z-index: 2; margin-top: -150px; }
	.af-contact__main { padding: 0 16px 48px; }
	.af-contact__head h2 { font-size: 56px; }
	.af-btn-pill .wp-block-button__link { font-size: 13px; padding: 14px 28px; }
}

/* Consulting: poles */
.af-poles { margin-top: 5rem; }
.af-poles__title { font-size: clamp(40px, 4.4vw, 64px); line-height: 1.1; margin: 0 0 2rem; }
.af-poles__intro { gap: 32px; margin-bottom: 4rem; align-items: center; }
.af-poles__text { font-size: 11px; line-height: 1.5; max-width: 640px; margin: 0; }
.af-poles__buttons { gap: 16px; }
.af-poles__buttons .wp-block-button__link { padding: 18px 28px; font-size: 11px; }
.af-poles__cards { gap: 16px; }
.af-pole { border-radius: 8px; min-height: 0; aspect-ratio: 4 / 5; padding: 20px 24px; align-items: stretch; }
.af-pole .wp-block-cover__inner-container { display: flex; flex-direction: column; width: 100%; }
.af-pole__num { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: 16px; margin: 0; }
.af-pole__title { font-size: 20px; line-height: 1.15; margin: auto 0 1.25rem; }
.af-pole__actions { flex-wrap: nowrap; align-items: center; margin: 0; }
.af-pole__actions .wp-block-button__link { font-size: 9px; padding: 9px 14px; border-radius: 3px; }
.af-circle .wp-block-button__link { width: 36px; height: 36px; padding: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; }

/* Consulting: conviction */
.af-conviction { margin-top: 5rem; gap: 64px; align-items: flex-start; }
.af-conviction__text { padding-right: 48px; border-right: 1px solid color-mix(in srgb, var(--wp--preset--color--orange) 45%, #fff); }
.af-conviction__text p { font-size: 11px; line-height: 1.5; margin: 0; }
.af-conviction__text h3 { font-size: 20px; margin: 2rem 0 2.5rem; }
.af-conviction__img, .af-conviction__img img { margin: 0; }
.af-conviction__img img { display: block; width: 100%; aspect-ratio: 494 / 115; object-fit: cover; border-radius: 12px; }
.af-conviction__buttons { margin-top: 1.5rem; gap: 12px; }
.af-conviction__buttons .wp-block-button__link, .af-stats__buttons .wp-block-button__link { font-size: 10px; padding: 16px 24px; }
.af-btn-phone .wp-block-button__link::before { content: ""; display: inline-block; width: 11px; height: 11px; margin-right: 8px; vertical-align: -1px; background: var(--wp--preset--color--navy); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.6 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.6 3.6a1 1 0 0 1-.25 1z'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.6 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.6 3.6a1 1 0 0 1-.25 1z'/></svg>") center / contain no-repeat; }

/* Consulting: services detail */
.af-detail { margin-top: 6rem; gap: 64px; align-items: stretch; }
.af-detail__sticky { position: sticky; top: 24px; }
.af-detail__nav.af-detail__nav { font-size: 16px; }
.af-detail__nav li { padding: .5rem 0; }
.af-detail__nav a { color: var(--wp--preset--color--navy); text-decoration: none; }
.af-detail__block { margin-bottom: 6rem; scroll-margin-top: 24px; }
.af-detail__img, .af-detail__img img { margin: 0; }
.af-detail__img img { display: block; width: 100%; aspect-ratio: 1126 / 385; object-fit: cover; border-radius: 12px; }
.af-detail__head { margin: 1.5rem 0 .75rem; gap: 24px; padding: 0 24px; }
.af-detail__title { font-style: normal; font-size: 22px; line-height: 1.25; margin: 0; flex: 1; padding-left: 1.6em; text-indent: -1.6em; }
.af-detail__n { display: inline-block; width: 1.6em; text-indent: 0; }
.af-detail__cta .wp-block-button__link { font-size: 10px; padding: 12px 24px; border-radius: 4px; }
.af-detail__cols { gap: 24px; margin: 0; padding: 0 24px; }
.af-detail__lead, .af-detail__body { font-size: 10px; line-height: 1.5; margin: 0 0 1.5rem; }
.af-detail__aside { border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--orange) 45%, #fff); padding-left: 16px; }
.af-detail__aside h4 { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-weight: 400; font-size: 16px; margin: 0 0 .5rem; }
.af-detail__aside p { font-size: 8px; line-height: 1.5; margin: 0; }

/* À propos */
.af-about-hero { margin-top: 3rem; }
.af-about-hero__title { font-size: clamp(36px, 3.8vw, 52px); line-height: 1.2; margin: 0 0 1rem; color: var(--wp--preset--color--ink); }
.af-about-hero__sub { font-size: 14px; margin: 0 0 3.5rem; }
.af-about-hero__img, .af-about-hero__img img { margin: 0; }
.af-about-hero__img img { display: block; width: 100%; aspect-ratio: 1700 / 599; object-fit: cover; border-radius: 12px; }
.af-stats { margin-top: 4rem; gap: 48px; }
.af-stats__title { font-size: clamp(28px, 3vw, 40px); line-height: 1.25; margin: 0 0 1.75rem; color: var(--wp--preset--color--ink); }
.af-stats__text { font-size: 12px; line-height: 1.5; max-width: 460px; margin: 0 0 3rem; }
.af-stats__buttons { gap: 12px; }
.af-stats__grid { gap: 48px; }
.af-stat__num { font-family: var(--wp--preset--font-family--body); font-weight: 600; font-size: 56px; line-height: 1.1; margin: 0 0 .5rem; }
.af-stat__cap { font-size: 9px; line-height: 1.35; margin: 0; max-width: 170px; }
.af-method { grid-template-columns: 41% auto; margin-top: 6rem; align-items: center; }
.af-method .wp-block-media-text__media img { display: block; width: 100%; aspect-ratio: 403 / 347; object-fit: cover; border-radius: 12px; }
.af-method .wp-block-media-text__content { padding: 0 0 0 96px; }
.af-method__title { font-size: clamp(36px, 3.8vw, 52px); line-height: 1.2; margin: 0 0 1.5rem; color: var(--wp--preset--color--ink); }
.af-method__text { font-size: 11px; line-height: 1.5; margin: 0 0 .75rem; }
.af-vrow { margin-top: 6rem; padding: 64px 16px; min-height: 0; }
.af-vrow .wp-block-cover__inner-container { max-width: 1100px; }
.af-vrow__title { font-size: clamp(36px, 3.8vw, 52px); margin: 0 0 2.5rem; }
.af-vrow__grid { gap: 24px; }
.af-vrow__grid .af-card { text-align: center; padding: 32px 16px; }
.af-vrow__grid h3 { font-size: 18px; margin: .75rem 0 1rem; }
.af-vrow__grid p { font-size: 10px; line-height: 1.4; margin: 0; }
.af-team { margin-top: 6rem; gap: 48px; }
.af-team__title { font-size: clamp(36px, 3.8vw, 52px); line-height: 1.2; margin: 0 0 1.5rem; color: var(--wp--preset--color--ink); }
.af-team__text { font-size: 11px; line-height: 1.5; max-width: 400px; margin: 0; }
.af-team__grid { gap: 12px; }
.af-member__img, .af-member__img img { margin: 0; }
.af-member__img img { display: block; width: 100%; aspect-ratio: 237 / 177; object-fit: cover; border-radius: 12px; }
.af-member__name { font-size: 18px; margin: 1rem 0 .25rem 16px; color: var(--wp--preset--color--ink); }
.af-member__role { font-size: 9px; margin: 0 0 0 16px; }

@media (max-width: 781px) {
	.af-poles { margin-top: 2.5rem; }
	.af-poles__title { font-size: 48px; }
	.af-poles__text { font-size: 13px; }
	.af-poles__buttons .wp-block-button__link { font-size: 14px; padding: 16px 24px; }
	.af-poles__cards.af-poles__cards { display: flex !important; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; }
	.af-poles__cards > .af-pole { flex: 0 0 78%; scroll-snap-align: start; }
	.af-pole__title { font-size: 22px; }
	.af-pole__actions .wp-block-button__link { font-size: 10px; }
	.af-circle .wp-block-button__link { width: 48px; height: 48px; font-size: 16px; }
	.af-conviction { margin-top: 3rem; gap: 32px; }
	.af-conviction__text { padding-right: 0; border-right: 0; }
	.af-conviction__text p { font-size: 13px; }
	.af-conviction__text h3 { font-size: 28px; margin: 1.5rem 0; }
	.af-conviction__img img { aspect-ratio: 395 / 387; }
	.af-conviction__buttons .wp-block-button__link, .af-stats__buttons .wp-block-button__link { font-size: 14px; padding: 18px 24px; }
	.af-stats__buttons { flex-direction: column; align-items: flex-start; }
	.af-detail { margin-top: 3rem; }
	.af-detail__navcol { display: none; }
	.af-detail__block { margin-bottom: 4rem; }
	.af-detail__img img { aspect-ratio: 395 / 387; }
	.af-detail__head { flex-wrap: wrap !important; padding: 0 16px; }
	.af-detail__title { font-size: 22px; }
	.af-detail__cols { padding: 0 16px; }
	.af-detail__lead, .af-detail__body { font-size: 12px; }
	.af-detail__aside { border-left: 0; padding-left: 0; }
	.af-detail__aside h4 { font-size: 24px; }
	.af-detail__aside p { font-size: 12px; }
	.af-detail__cta .wp-block-button__link { font-size: 14px; padding: 14px 32px; }
	.af-about-hero { margin-top: 1.5rem; }
	.af-about-hero__title { font-size: 36px; }
	.af-about-hero__sub { font-size: 16px; }
	.af-about-hero__img img { aspect-ratio: 390 / 505; object-position: 25% center; }
	.af-stats { margin-top: 3rem; gap: 32px; }
	.af-stats__side { order: -1; }
	.af-stats__grid { gap: 24px; }
	.af-stat__num { font-size: 44px; }
	.af-stat__cap { font-size: 12px; max-width: none; }
	.af-stats__title { font-size: 28px; }
	.af-stats__text { font-size: 13px; margin-bottom: 2rem; }
	.af-method { grid-template-columns: 1fr !important; margin-top: 4rem; }
	.af-method .wp-block-media-text__content { padding: 2rem 0 0; }
	.af-method__text { font-size: 13px; }
	.af-vrow { margin-top: 4rem; padding: 48px 16px; }
	.af-vrow__grid.af-vrow__grid { grid-template-columns: 1fr 1fr !important; gap: 12px; }
	.af-vrow__grid .af-card { padding: 24px 12px; }
	.af-vrow__grid h3 { font-size: 15px; }
	.af-vrow__grid p { font-size: 11px; }
	.af-team { margin-top: 4rem; gap: 32px; }
	.af-team__text { font-size: 13px; max-width: none; }
	.af-team__grid.af-team__grid { grid-template-columns: 1fr 1fr !important; }
	.af-member__name { font-size: 16px; margin-left: 8px; }
	.af-member__role { margin-left: 8px; font-size: 11px; }
}

/* Mobile poles: plain stacked text blocks, as in the iPhone design (no photo, no overlay) */
@media (max-width: 781px) {
	.af-poles__cards.af-poles__cards { display: block !important; overflow: visible; }
	.af-poles__cards > .af-pole { aspect-ratio: auto !important; background: none; padding: 0 16px; margin-bottom: 2.5rem; min-height: 0; }
	.af-pole .wp-block-cover__background, .af-pole .wp-block-cover__image-background { display: none; }
	.af-pole .af-pole__num, .af-pole .af-pole__title { color: var(--wp--preset--color--navy) !important; }
	.af-pole__num { font-size: 24px; margin-bottom: 2rem; }
	.af-pole__title { font-size: 26px; margin: 0 0 1.5rem; }
	.af-pole__actions .wp-block-button__link { font-size: 11px; padding: 11px 22px; }
	.af-pole__actions .af-circle .wp-block-button__link { width: 57px; height: 57px; }
}

/* Blog, archive, single, 404 */
.af-blog-hero { padding: 48px 16px; }
.af-blog-hero .wp-block-cover__inner-container { width: 100%; max-width: 1320px; margin-inline: auto; padding-top: 24px; }
.af-blog-hero h1 { font-size: clamp(44px, 6vw, 80px); line-height: 1.1; margin: 0 0 .5rem; }
.af-blog-hero__tagline { font-size: 14px; font-weight: 600; font-style: italic; margin: 0; }
.af-blog-filters { gap: 12px; margin-top: 48px; margin-bottom: 48px; align-items: center; }
.af-blog-filters .wp-block-button__link { padding: 14px 22px; border-radius: 6px; font-size: 11px; font-weight: 600; }
.is-style-af-pills { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.is-style-af-pills a { display: inline-block; background: var(--wp--preset--color--line); color: #fff; border-radius: 999px; padding: 14px 22px; font-size: 11px !important; font-weight: 600; line-height: 1; text-decoration: none; }
.is-style-af-pills a::before { content: "#"; }
.af-blog-list { margin-bottom: 80px; }
.af-blog-list .wp-block-post-template { gap: 40px 24px; }
.af-post-card .wp-block-post-title, .af-post-card .wp-block-post-excerpt, .af-post-card__meta { padding-inline: 10px; }
.af-post-card .wp-block-post-title { margin: 16px 0 .5rem; line-height: 1.25; }
.af-post-card .wp-block-post-title a { text-decoration: none; }
.af-post-card .wp-block-post-excerpt p { margin: 0 0 .75rem; line-height: 1.4; }
.af-post-card .wp-block-post-date { font-size: 11px; font-weight: 600; text-transform: uppercase; }
.af-pagination { margin-top: 56px; gap: 8px; }
.af-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; border: 1px solid var(--wp--preset--color--navy); border-radius: 4px; font-size: 10px; text-decoration: none; color: var(--wp--preset--color--navy); }
.af-pagination .page-numbers.current { background: var(--wp--preset--color--navy); color: #fff; }
.af-pagination .page-numbers.dots { border: 0; }
.af-single-cover { padding: 48px 16px; margin-bottom: 40px; }
.af-single-cover .wp-block-cover__background { background: linear-gradient(180deg, #16134300 30%, #161343e6 100%) !important; opacity: 1; }
.af-single-cover .wp-block-cover__inner-container { width: 100% !important; max-width: 1320px; margin-inline: auto; }
.af-single-cover__row { gap: 24px; align-items: flex-end; }
.af-single-cover__text { max-width: 640px; }
.af-single-cover h1 { font-size: clamp(32px, 4vw, 48px); line-height: 1.1; margin: 0 0 1rem; }
.af-single-cover .wp-block-post-excerpt p { margin: 0; line-height: 1.4; }
.af-pills--outline { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.af-pills--outline .wp-block-post-terms__separator { display: none; }
.af-pills--outline a { background: transparent; color: #fff; border: 1px solid #fff; border-radius: 999px; padding: 8px 18px; font-family: var(--wp--preset--font-family--body); font-style: normal; font-weight: 600; }
.af-single-content { margin-top: 56px; margin-bottom: 80px; font-size: 12px; line-height: 1.45; }
.af-sep-long { width: 100%; max-width: 660px; margin: 0 0 56px; border: 0; height: 4px; opacity: 1; background: linear-gradient(var(--wp--preset--color--navy), var(--wp--preset--color--navy)) no-repeat left / 270px 100% !important; }
.af-related-section h2 { font-size: clamp(20px, 2.2vw, 28px); margin: 0 0 40px; }
.af-related-section { margin-bottom: 96px; }
.af-404 { padding: 120px 0; text-align: center; }
.af-404 .wp-block-buttons { justify-content: center; }
@media (max-width: 781px) {
	.af-blog-hero { padding: 32px 16px; }
	.af-blog-list .wp-block-post-template, .af-related .wp-block-post-template { grid-template-columns: 1fr !important; }
	.af-single-cover { min-height: 500px !important; }
}
.af-blog-hero, .af-single-cover { margin-inline: -16px; width: calc(100% + 32px); max-width: none; }
.af-single-cover__row { width: 100%; display: flex; justify-content: space-between !important; }
