*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

.wp-block-post-content > p,
.ledger-row__body p {
	text-align: justify;
	text-justify: inter-word;
	hyphens: auto;
}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--wp--preset--color--ottone);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

.site-header { max-width: none; border-bottom: 2px solid var(--wp--preset--color--ottone); }

.site-header__microbar {
	background: var(--wp--preset--color--blu-registro);
	padding: 0.4rem 1.5rem;
	gap: 1.5rem !important;
}
.site-header__microbar-item { margin: 0; font-family: var(--wp--preset--font-family--mono); font-size: 0.75rem; color: var(--wp--preset--color--carta); }
.site-header__microbar-item a { color: var(--wp--preset--color--carta); text-decoration: none; }
.site-header__microbar-item a:hover { color: var(--wp--preset--color--ottone); }

.site-header__bar { padding: 1.1rem 1.5rem; max-width: 1180px; margin-inline: auto; flex-wrap: wrap; row-gap: 0.75rem; }
.site-header__brand { gap: 0.85rem !important; }
.site-header__logo img { display: block; }
.site-header__title a { font-family: var(--wp--preset--font-family--display); font-size: 1.625rem; font-weight: 600; color: var(--wp--preset--color--blu-registro); text-decoration: none; letter-spacing: 0.01em; line-height: 1.15; }
.site-header__tagline { margin: 0; font-family: var(--wp--preset--font-family--body); font-size: 0.8125rem; color: var(--wp--preset--color--verde-garda); }

.site-header__nav a,
.site-header__nav .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--body); font-weight: 500; font-size: 0.9375rem; color: var(--wp--preset--color--inchiostro); text-decoration: none; transition: color .15s ease; }
.site-header__nav a:hover,
.site-header__nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--ottone); }
.site-header__nav .is-style-fill a,
.site-header__nav .is-style-fill .wp-block-navigation-item__content { background: var(--wp--preset--color--ottone); color: var(--wp--preset--color--bianco); padding: 0.55rem 1.15rem; border-radius: 2px; }
.site-header__nav .is-style-fill a:hover,
.site-header__nav .is-style-fill .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--blu-registro); color: var(--wp--preset--color--bianco); }

.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--blu-registro) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
	width: 100% !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
	text-align: left !important;
	width: 100% !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	justify-content: flex-start !important;
	text-align: left !important;
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	padding-left: 1.25rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open a,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--wp--preset--color--carta) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container.is-menu-open button svg { fill: var(--wp--preset--color--carta); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation__container {
	gap: 0.35rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
	margin: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	padding: 0.6rem 0 !important;
}

.hero { background: var(--wp--preset--color--blu-registro); color: var(--wp--preset--color--carta); padding: 5rem 2rem 4.5rem; position: relative; overflow: hidden; }
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(to bottom, transparent 0 2.4rem, rgba(246,243,234,0.05) 2.4rem calc(2.4rem + 1px));
	pointer-events: none;
}
.hero > * { position: relative; }
.hero__eyebrow { font-family: var(--wp--preset--font-family--body); font-size: 0.9375rem; font-weight: 500; color: var(--wp--preset--color--ottone); margin: 0 0 1rem; text-align: center; }
.hero__title { font-size: var(--wp--preset--font-size--giant); color: var(--wp--preset--color--bianco); max-width: 18ch; margin: 0 0 1.25rem; }
.hero__lead { font-size: 1.1875rem; max-width: 52ch; color: rgba(246,243,234,0.86); margin: 0 0 2rem; }
.hero .wp-block-buttons { margin-bottom: 2.5rem; }
.hero .is-style-outline .wp-block-button__link { background: transparent; border: 1px solid var(--wp--preset--color--carta); color: var(--wp--preset--color--carta); }
.hero .is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--carta); color: var(--wp--preset--color--blu-registro); }
.hero__mark { font-family: var(--wp--preset--font-family--body); font-size: 0.9375rem; color: var(--wp--preset--color--ottone); border-top: 1px solid rgba(169,128,61,0.4); padding-top: 1.25rem; display: block; text-align: center; margin: 0; }

.site-main--home > .wp-block-post-content { padding-top: 3rem; }

.ledger-list { margin-block: 0.5rem 2.5rem; }
.ledger-row { border-bottom: 1px solid var(--wp--preset--color--bordo); padding-block: 1.4rem; gap: 1.5rem !important; align-items: flex-start !important; }
.ledger-list > .ledger-row:first-child,
.wp-block-query .ledger-row:first-child { border-top: 1px solid var(--wp--preset--color--bordo); }
.ledger-row__mark { font-family: var(--wp--preset--font-family--mono); color: var(--wp--preset--color--ottone); font-size: 0.8125rem; min-width: 3.5rem; flex-shrink: 0; margin: 0.3rem 0 0; }
.ledger-row__body h3, .ledger-row__body h4 { margin: 0 0 0.4rem; font-size: 1.1875rem; }
.ledger-row__body p { margin: 0; }
.ledger-row__body .ledger-row__role { display: block; font-family: var(--wp--preset--font-family--mono); font-size: 0.8125rem; color: var(--wp--preset--color--verde-garda); margin: 0 0 0.35rem; }
.ledger-row--news .wp-block-post-title { margin: 0; font-size: 1.0625rem; }
.ledger-row--news .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--inchiostro); }
.ledger-row--news .wp-block-post-title a:hover { color: var(--wp--preset--color--ottone); }
.ledger-row--news time { font-size: 0.8125rem; }

.page-intro { padding-block: 3.5rem 1rem; }
.page-intro__eyebrow { font-family: var(--wp--preset--font-family--mono); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.8125rem; color: var(--wp--preset--color--verde-garda); margin: 0 0 0.75rem; }
.page-intro h1 { margin: 0 0 0.5rem; }
.page-intro__lead { font-size: 1.125rem; max-width: 60ch; color: var(--wp--preset--color--inchiostro); opacity: 0.75; margin: 0; }

.article-header { padding-block: 3.5rem 1rem; }
.site-main--article .wp-block-post-content { padding-block: 1rem 3rem; }
.article-footer { padding-block: 2rem 3rem; border-top: 1px solid var(--wp--preset--color--bordo); margin-top: 2rem; }
.article-footer__back a { font-family: var(--wp--preset--font-family--mono); font-size: 0.875rem; text-decoration: none; }

.article-card { padding-block: 1.5rem; border-bottom: 1px solid var(--wp--preset--color--bordo); }
.article-card__date { font-family: var(--wp--preset--font-family--mono); font-size: 0.8125rem; color: var(--wp--preset--color--ottone); }

.news-list { padding-block: 1rem 3rem; }
.news-list__pagination { margin-top: 2rem; font-family: var(--wp--preset--font-family--mono); font-size: 0.875rem; }

.cta-band { background: var(--wp--preset--color--verde-garda); color: var(--wp--preset--color--bianco); padding: 3.5rem 2rem; text-align: center; margin: 3rem 0 0; }
.cta-band__title { color: var(--wp--preset--color--bianco); margin: 0 0 0.5rem; }
.cta-band__lead { color: rgba(255,255,255,0.88); margin: 0 0 1.75rem; }
.cta-band .wp-block-button__link { background: var(--wp--preset--color--bianco); color: var(--wp--preset--color--blu-registro); }
.cta-band .wp-block-button__link:hover { background: var(--wp--preset--color--blu-registro); color: var(--wp--preset--color--bianco); }
.cta-band .wp-block-buttons { justify-content: center; }

.wp-block-table table { border-collapse: collapse; }
.wp-block-table:not(.is-style-stripes) td,
.wp-block-table:not(.is-style-stripes) th { border: 1px solid var(--wp--preset--color--bordo); padding: 0.65rem 0.9rem; }

.contact-form { max-width: 640px; margin-top: 1rem; }
.contact-form__notice { padding: 1rem 1.25rem; border-radius: 2px; margin-bottom: 1.5rem; }
.contact-form__notice--success { background: rgba(78,102,83,0.12); color: var(--wp--preset--color--verde-garda); border: 1px solid var(--wp--preset--color--verde-garda); }
.contact-form__notice--error { background: rgba(138,51,36,0.08); color: #8a3324; border: 1px solid #8a3324; }
.contact-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.contact-form__field { margin: 0 0 1.25rem; }
.contact-form__field label { display: block; font-family: var(--wp--preset--font-family--mono); font-size: 0.8125rem; letter-spacing: 0.03em; margin-bottom: 0.4rem; color: var(--wp--preset--color--blu-registro); }
.contact-form__field input, .contact-form__field textarea {
	width: 100%;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--wp--preset--color--bordo);
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	background: var(--wp--preset--color--bianco);
	color: var(--wp--preset--color--inchiostro);
}
.contact-form__field input:focus, .contact-form__field textarea:focus { outline: 2px solid var(--wp--preset--color--ottone); outline-offset: 1px; border-color: var(--wp--preset--color--ottone); }
.contact-form__submit { margin: 0; }
.contact-form__submit button {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.875rem;
	background: var(--wp--preset--color--ottone);
	color: var(--wp--preset--color--bianco);
	border: 0;
	padding: 0.85rem 1.75rem;
	border-radius: 2px;
	cursor: pointer;
	transition: background-color .15s ease;
}
.contact-form__submit button:hover { background: var(--wp--preset--color--blu-registro); }

.contact-form__map iframe { width: 100%; border: 1px solid var(--wp--preset--color--bordo); }

.site-footer { background: var(--wp--preset--color--blu-registro); color: var(--wp--preset--color--carta); padding: 4rem 2rem 2rem; margin-top: 4rem; max-width: none; }
.site-footer__columns { max-width: 1180px; margin-inline: auto; gap: 2rem !important; }
.site-footer__brand, .site-footer__brand a { color: var(--wp--preset--color--bianco) !important; font-family: var(--wp--preset--font-family--display); text-decoration: none; }
.site-footer__heading { color: var(--wp--preset--color--ottone); font-family: var(--wp--preset--font-family--mono); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8125rem; margin: 0 0 0.85rem; }
.site-footer__meta { font-size: 0.9375rem; color: rgba(246,243,234,0.82); margin: 0 0 0.5rem; }
.site-footer__meta a { color: rgba(246,243,234,0.82); }
.site-footer__links, .site-footer__legal { list-style: none; margin: 0; padding: 0; }
.site-footer__links li { margin: 0 0 0.5rem; }
.site-footer__links a, .site-footer__legal a { color: rgba(246,243,234,0.82); text-decoration: none; font-size: 0.9375rem; }
.site-footer__links a:hover, .site-footer__legal a:hover, .site-footer__meta a:hover { color: var(--wp--preset--color--ottone); }
.site-footer__rule { border-color: rgba(246,243,234,0.18) !important; max-width: 1180px; margin-inline: auto; }
.site-footer__bottom { max-width: 1180px; margin-inline: auto; padding-top: 1.5rem; gap: 1rem !important; }
.site-footer__copy { font-family: var(--wp--preset--font-family--mono); font-size: 0.8125rem; color: rgba(246,243,234,0.65); margin: 0; }
.site-footer__legal { display: flex; gap: 1.25rem; flex-wrap: wrap; }

@media (max-width: 600px) {
	.hero { padding: 3.5rem 1.25rem 3rem; }
	.hero__title { max-width: none; }
	.cta-band { padding: 2.75rem 1.25rem; }
	.ledger-row { flex-wrap: wrap; }
}
