/* Homepage only: approved 390 / 1440 compositions with fluid interpolation. */
.wa-front-main, .wa-front-main > .wp-block-post-content { margin: 0; padding: 0; }
.wa-home { color: var(--wp--preset--color--ink); line-height: normal; }
.wa-home :where(.wp-block-group, p, h1, h2, h3, figure, .wp-block-query, ul) { margin-block: 0; }
.wa-home .wa-gutter { padding-inline: var(--wp--custom--page-gutter); }
.wa-home .wp-block-group > * { min-width: 0; margin-block: 0; }
.wa-hero__heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; padding-top: 40px; padding-bottom: 40px; }
.wa-hero__name { font-size: var(--wp--preset--font-size--hero); font-weight: 600; letter-spacing: -.05em; line-height: .9; }
.wa-hero__areas { font-size: clamp(1rem, calc(.907143rem + .380952vw), 1.25rem); font-weight: 500; letter-spacing: .01em; color: var(--wp--preset--color--support); padding-bottom: 12px; }
.wa-hero__body { display: grid; grid-template-columns: minmax(0, min(43.055556vw, 620px)) minmax(0, 1fr); }
.wa-media { margin: 0; border: 1px solid var(--wp--preset--color--ink); }
.wa-media img, .wa-media picture { display: block; width: 100%; }
.wa-media img { height: auto; }
.wa-media--portrait { border: 0; height: clamp(440px, 43.055556vw, 620px); overflow: hidden; }
.wa-media--portrait img { height: 100%; object-fit: cover; object-position: 52% 14%; }
.wa-hero__intro { display: flex; flex-direction: column; justify-content: center; padding-left: clamp(32px, 4.166667vw, 60px); padding-right: var(--wp--custom--page-gutter); }
.wa-hero__lead { font-size: clamp(1.25rem, calc(1.017857rem + .952381vw), 1.875rem); font-weight: 500; line-height: 1.38; letter-spacing: -.02em; max-width: 640px; margin-bottom: 30px !important; }
.wa-cta { align-self: flex-start; font-size: 17px; font-weight: 600; line-height: normal; }
.wa-cta a { display: inline-block; position: relative; color: var(--wp--preset--color--reference-blue); text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 3px; }
.wa-cta a::before { content: ""; position: absolute; inset: -6px 0; min-height: 24px; }
.wa-cta a:hover { color: var(--wp--preset--color--ink); }
.wa-cta--primary { font-size: clamp(1.125rem, calc(1.078571rem + .190476vw), 1.25rem); }
.wa-cta--primary a { padding-bottom: 5px; }
.wa-work { padding-top: 64px; display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 40px; align-items: baseline; }
.wa-work__label { font-size: 16px; font-weight: 600; color: var(--wp--preset--color--secondary); }
.wa-work__items { display: flex; flex-wrap: wrap; gap: 8px 0; list-style: none; padding: 0; font-size: clamp(1.3125rem, calc(1.010714rem + 1.238095vw), 2.125rem); font-weight: 500; letter-spacing: -.03em; line-height: 1.16; }
.wa-work__item { display: flex; align-items: baseline; min-width: 0; margin: 0; }
.wa-work__item a { color: inherit; text-decoration: none; }
.wa-work__item a:hover { color: var(--wp--preset--color--reference-blue); }
.wa-work__item + .wa-work__item::before { content: "\00B7"; color: #A9B0B8; padding-inline: .28em; }
.wa-project, .wa-tool { padding-top: var(--wp--preset--spacing--section); }
.wa-project--ahm { padding-top: clamp(52px, calc(42.342857px + 2.476190vw), 78px); }
.wa-project-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 26px !important; }
.wa-project-code { font-size: var(--wp--preset--font-size--archive-code); font-weight: 700; letter-spacing: .06em; margin-bottom: 14px !important; }
.wa-section-title { font-size: var(--wp--preset--font-size--section-heading); font-weight: 600; letter-spacing: -.045em; line-height: 1; }
.wa-project-meta { font-size: 15px; color: var(--wp--preset--color--secondary); flex-shrink: 0; }
.wa-project-head--compact .wa-section-title, .wa-section-title--compact { font-size: clamp(2rem, calc(1.675rem + 1.333333vw), 2.875rem); line-height: 1.02; }
.wa-media--ahm, .wa-media--stanzia-web { max-width: 1235px; }
.wa-project-description { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 48px; padding-top: 20px; }
.wa-project-description > .wa-body { grid-column: 2; max-width: 700px; }
.wa-body { color: var(--wp--preset--color--body); font-size: var(--wp--preset--font-size--body); line-height: 1.6; }
.wa-body a { color: var(--wp--preset--color--reference-blue); text-decoration: none; border-bottom: 1px solid #BFC9DE; }
.wa-body a:hover { color: var(--wp--preset--color--ink); }
/* M3R1: editorial data plate. Shared classes, homepage compact use only. */
.wa-seo-body { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 40px; }
.wa-data-plate { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--wp--preset--color--border); }
.wa-data-plate__metric { padding: 24px 20px 24px 0; border-top: 1px solid var(--wp--preset--color--border); }
.wa-data-plate__metric:nth-child(even) { padding-left: 24px; padding-right: 0; border-left: 1px solid var(--wp--preset--color--border); }
.wa-data-plate__value { font-size: clamp(4rem, 6.4vw, 5.75rem); font-weight: 600; letter-spacing: -.055em; line-height: 1; margin-bottom: 12px !important; white-space: nowrap; }
.wa-data-plate__metric:last-child .wa-data-plate__value { font-size: clamp(2.75rem, 4.45vw, 4rem); letter-spacing: -.045em; }
.wa-data-plate__metric > p { margin-block: 0; }
.wa-data-plate__label { font-size: 18px; line-height: 1.4; color: var(--wp--preset--color--secondary); max-width: 250px; }
.wa-metric-source { font-size: 14px; color: var(--wp--preset--color--secondary); margin-top: 16px !important; }
.wa-seo-summary { display: flex; flex-direction: column; justify-content: center; gap: 22px; }
.wa-seo-copy { font-size: 18px; color: var(--wp--preset--color--body); line-height: 1.6; }
.wa-app { display: grid; grid-template-columns: minmax(0, 1fr) 232px 232px; gap: 40px; align-items: start; padding-top: 28px; }
.wa-app__text > .wa-body { max-width: 620px; margin-bottom: 30px !important; }
.wa-app__label { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--secondary); margin-bottom: 18px !important; }
.wa-app__tags { font-size: 26px; font-weight: 500; letter-spacing: -.025em; line-height: 1.3; margin-bottom: 26px !important; }
/* DC-02: text remains; the final tool screenshot is deferred to M7. */
.wa-tool > .wa-project-code { margin-bottom: 18px !important; }
.wa-tool > .wa-section-title { margin-bottom: 16px !important; }
.wa-tool__lead { font-size: 20px; line-height: 1.5; max-width: 660px; margin-bottom: 10px !important; }
.wa-tool__note { font-size: 15.5px; line-height: 1.6; color: var(--wp--preset--color--secondary); margin-bottom: 26px !important; max-width: 620px; }
.wa-home-articles, .wa-about, .wa-contact { padding-top: clamp(52px, calc(37.142857px + 3.809524vw), 92px); }
.wa-articles-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 30px !important; }
.wa-home-articles .wp-block-post-template { list-style: none; padding: 0; margin: 0; }
.wa-home-articles .wp-block-post-template > li { margin-block: 0; }
.wa-article-row { display: grid; grid-template-columns: 200px minmax(0, 1fr) 130px; gap: 32px; align-items: baseline; border-top: 1px solid var(--wp--preset--color--border); padding: 22px 0; }
.wa-article-category { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--secondary); }
.wa-article-title { font-size: 28px; font-weight: 500; letter-spacing: -.03em; line-height: 1.2; }
.wa-article-row a { color: inherit; text-decoration: none; }
.wa-article-row a:hover { color: var(--wp--preset--color--reference-blue); text-decoration: underline; }
.wa-article-date { font-size: 15px; color: var(--wp--preset--color--secondary); text-align: right; }
.wa-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.wa-about__lead { font-size: 22px; line-height: 1.5; letter-spacing: -.015em; margin-bottom: 18px !important; }
.wa-about__body { font-size: 17px; line-height: 1.65; color: var(--wp--preset--color--body); margin-bottom: 26px !important; }
.wa-contact { scroll-margin-top: 24px; }
.wa-contact__grid { border-top: 1px solid var(--wp--preset--color--ink); padding-top: 34px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 64px; align-items: start; }
.wa-contact__title { font-size: clamp(2.5rem, calc(2.035714rem + 1.904762vw), 3.75rem); font-weight: 600; letter-spacing: -.05em; line-height: .98; margin-bottom: 18px !important; }
.wa-contact__copy { font-size: 18px; line-height: 1.6; color: var(--wp--preset--color--body); max-width: 420px; }
/* Scoped WPForms overrides preserve its real labels, validation and submission. */
.wa-contact__form div.wpforms-container { margin: 0 !important; }
.wa-contact__form .wpforms-field-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
.wa-contact__form div.wpforms-container .wpforms-field { padding: 0 !important; margin: 0 !important; min-width: 0; grid-column: 1 / -1; }
.wa-contact__form div.wpforms-container .wa-field-name { grid-column: 1; }
.wa-contact__form div.wpforms-container .wa-field-email { grid-column: 2; }
.wa-contact__form div.wpforms-container .wpforms-field-label { font-family: inherit !important; font-size: 13px !important; font-weight: 600 !important; line-height: normal !important; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--secondary) !important; margin-bottom: 7px !important; }
.wa-contact__form div.wpforms-container .wpforms-required-label { color: inherit !important; }
.wa-contact__form div.wpforms-container :is(input[type="text"], input[type="email"], select, textarea) { font-family: inherit !important; font-size: 17px !important; color: var(--wp--preset--color--ink) !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--wp--preset--color--ink) !important; border-radius: 0 !important; box-shadow: none !important; padding: 8px 0 !important; width: 100% !important; max-width: 100% !important; min-height: 44px; height: auto !important; line-height: 1.4 !important; }
.wa-contact__form div.wpforms-container textarea { min-height: 112px; resize: vertical; }
.wa-contact__form div.wpforms-container :is(input,select,textarea,button):focus-visible { outline: 2px solid var(--wp--preset--color--reference-blue) !important; outline-offset: 4px !important; }
.wa-contact__form div.wpforms-container .wpforms-submit-container { padding: 22px 0 0 !important; }
.wa-contact__form div.wpforms-container button[type="submit"] { font-family: inherit !important; font-size: 18px !important; font-weight: 600 !important; line-height: normal !important; color: var(--wp--preset--color--background) !important; background: var(--wp--preset--color--ink) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 16px 40px !important; height: auto !important; cursor: pointer; }
.wa-contact__form div.wpforms-container button[type="submit"]:hover { background: var(--wp--preset--color--reference-blue) !important; }
.wa-contact__form div.wpforms-container :is(label, em).wpforms-error { color: var(--wp--preset--color--ink) !important; font-style: normal !important; font-size: 15px !important; line-height: 1.5 !important; margin-top: 8px !important; }
@media (max-width: 59.999rem) {
    .wa-hero__heading { display: block; padding-top: 22px; padding-bottom: 24px; }
    .wa-hero__name { line-height: .92; margin-bottom: 14px !important; }
    .wa-hero__areas { padding: 0; letter-spacing: normal; }
    .wa-hero__body { display: block; }
    .wa-media--portrait { height: 440px; }
    .wa-media--portrait img { object-position: 52% 12%; }
    .wa-hero__intro { display: block; padding: 24px var(--wp--custom--page-gutter) 0; }
    .wa-hero__lead { font-size: 20px; line-height: 1.45; letter-spacing: -.015em; margin-bottom: 18px !important; }
    .wa-cta a { padding-block: 11px; }
    .wa-cta a::before { content: none; }
    .wa-cta--primary { font-size: 18px; }
    .wa-hero .wa-cta a { padding-block: 10px; }
    .wa-work { display: block; padding-top: 38px; }
    .wa-work__label { font-size: 15px; margin-bottom: 12px !important; }
    .wa-work__items { display: flex; flex-direction: column; align-items: flex-start; gap: 0; font-size: 21px; line-height: 1.2; letter-spacing: -.025em; }
    .wa-work__item { display: block; }
    .wa-work__item a { display: inline-block; padding-block: 12px; }
    .wa-work__item + .wa-work__item::before { content: none; }
    .wa-project, .wa-tool { padding-top: 52px; }
    .wa-project-head { display: block; margin-bottom: 20px !important; }
    .wa-project-code { font-size: 13px; margin-bottom: 12px !important; }
    .wa-section-title { line-height: 1.04; }
    .wa-project-head .wa-section-title { margin-bottom: 8px !important; }
    .wa-project-head--compact .wa-section-title, .wa-section-title--compact { line-height: 1.06; }
    .wa-project-meta { font-size: 14.5px; }
    .wa-project-description { display: block; padding-top: 18px; }
    .wa-seo-body { display: block; }
    .wa-metric-source { font-size: 13.5px; }
    .wa-data-plate { margin-bottom: 20px !important; }
    .wa-seo-summary { display: block; padding-top: 22px; }
    .wa-seo-copy { font-size: 17px; margin-bottom: 18px !important; }
    .wa-app { display: grid; grid-template-columns: minmax(0,1fr); padding-top: 30px; gap: 0; }
    .wa-app__text { display: block; margin-bottom: 24px !important; }
    .wa-app__text > .wa-body { margin-bottom: 24px !important; }
    .wa-app__label { font-size: 11.5px; margin-bottom: 16px !important; }
    .wa-media--checklist { margin-bottom: 14px !important; }
    .wa-media--rimborsi { margin-bottom: 14px !important; }
    .wa-app__tags { font-size: 21px; margin-bottom: 18px !important; }
    .wa-tool > .wa-project-code { margin-bottom: 14px !important; }
    .wa-tool > .wa-section-title { margin-bottom: 12px !important; }
    .wa-tool__lead { font-size: 18px; }
    .wa-tool__note { font-size: 15px; margin-bottom: 16px !important; }
    .wa-articles-head { display: contents; }
    .wa-home-articles { display: flex; flex-direction: column; }
    .wa-home-articles .wa-section-title { order: 0; margin-bottom: 18px !important; }
    .wa-home-articles .wp-block-post-template { order: 1; }
    .wa-articles-all { order: 2; margin-top: 8px !important; }
    .wa-articles-all a { padding-block: 14px; }
    .wa-article-row { display: flex; flex-direction: column; gap: 6px; padding: 16px 0; }
    .wa-article-category { font-size: 12.5px; }
    .wa-article-title { font-size: 22px; line-height: 1.25; }
    .wa-article-date { font-size: 14px; text-align: left; }
    .wa-about { display: block; }
    .wa-about > .wa-section-title { margin-bottom: 16px !important; }
    .wa-about__lead { font-size: 19px; margin-bottom: 14px !important; }
    .wa-about__body { font-size: 16.5px; margin-bottom: 14px !important; }
    .wa-contact__grid { display: block; padding-top: 26px; }
    .wa-contact__title { line-height: 1; margin-bottom: 12px !important; }
    .wa-contact__copy { font-size: 17px; max-width: none; margin-bottom: 26px !important; }
    .wa-contact__form .wpforms-field-container { display: block; }
    .wa-contact__form div.wpforms-container .wpforms-field { margin-bottom: 20px !important; }
    .wa-contact__form div.wpforms-container .wpforms-field:last-child { margin-bottom: 0 !important; }
    .wa-contact__form div.wpforms-container .wpforms-field-label { font-size: 12.5px !important; margin-bottom: 6px !important; }
    .wa-contact__form div.wpforms-container :is(input[type="text"], input[type="email"], select, textarea) { padding-block: 10px !important; }
    .wa-contact__form div.wpforms-container .wpforms-submit-container { padding-top: 20px !important; }
    .wa-contact__form div.wpforms-container button[type="submit"] { width: 100% !important; padding-inline: 0 !important; }
}

@media (max-width: 37.499rem) {
    .wa-data-plate { grid-template-columns: minmax(0, 1fr); }
    .wa-data-plate__metric, .wa-data-plate__metric:nth-child(even) { border-left: 0; padding: 20px 0; }
    .wa-data-plate__value { font-size: 76px; }
    .wa-data-plate__metric:last-child .wa-data-plate__value { font-size: 64px; }
    .wa-data-plate__label { max-width: none; }
}

/* M10R1: identity visual, not a screenshot frame. No shared shell changes. */
.wa-home .wa-media--ahm-identity { border: 0; max-width: 1235px; padding-block: clamp(24px, 4vw, 56px); }
.wa-home .wa-media--ahm-identity img { width: min(100%, 600px); height: auto; aspect-ratio: 811 / 407; margin-inline: auto; }
