/* v1.4: component states and content-driven layouts. */
.alfa-site { --ink-80: #64636b; --ink-60: #64636b; }
.alfa-site :where(h1, h2, h3, h4) { color: #48474d; }
.alfa-site [data-reveal], .alfa-site [data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .alfa-site [data-reveal].reveal-pending:not(.is-visible) { opacity: 0; transform: translateY(14px); }
}
.alfa-site .hero-card { position: relative; }
.alfa-site .motion-toggle { position: absolute; right: 22px; bottom: 14px; z-index: 3; max-width: calc(100% - 44px); padding: 7px 11px; border: 0; border-radius: 8px; background: #fff; color: #36363a; font-size: 12px; line-height: 1.3; }
.alfa-site [hidden] { display: none !important; }
.alfa-site .mobile-menu { overflow-y: auto; overscroll-behavior: contain; }
.alfa-site .hero .story-row { max-width: calc(100% - 120px); }
.alfa-site .alfa-snap-tales { max-width: 100%; }
.alfa-site .hero .story-row.is-empty { display: none; }
.alfa-site .case-card, .alfa-site .catalog-case-card,
.alfa-site a.case-card:hover, .alfa-site a.catalog-case-card:hover,
.alfa-site a.case-card:focus-visible, .alfa-site a.catalog-case-card:focus-visible { color: #48474d; }
.alfa-site .case-light, .alfa-site .catalog-case-card.is-light,
.alfa-site a.case-light:hover, .alfa-site a.catalog-case-card.is-light:hover,
.alfa-site a.case-light:focus-visible, .alfa-site a.catalog-case-card.is-light:focus-visible { color: #fff; }
.alfa-site .case-top > small,
.alfa-site .catalog-case-top > span { color: #48474d; background: #f6f6f9; }
.alfa-site .case-art { right: 0; bottom: 0; transform: none; transition: opacity 260ms ease; }
.alfa-site .case-art-logo { width: 70%; height: 30%; right: 5%; bottom: 7%; background-position: center; background-size: contain; filter: none; opacity: .22; }
.alfa-site .case-art-dark-logo { filter: brightness(.35); }
.alfa-site .case-art-photo { width: 78%; height: 70%; background-size: cover; background-position: center; filter: saturate(.65); opacity: .26; -webkit-mask-image: linear-gradient(135deg, transparent 10%, #000 100%); mask-image: linear-gradient(135deg, transparent 10%, #000 100%); }
.alfa-site .case-card:hover .case-art-logo, .alfa-site .catalog-case-card:hover .case-art-logo { opacity: .26; transform: none; }
.alfa-site .case-card:hover .case-art-photo, .alfa-site .catalog-case-card:hover .case-art-photo { opacity: .30; transform: none; }
.alfa-site .case-card::after, .alfa-site .catalog-case-card::after { opacity: .12; }
.alfa-site .case-card > p, .alfa-site .catalog-case-card > p { opacity: 1; }
.alfa-site .case-detail-page .inner-hero { color: var(--hero-ink); }
.alfa-site .case-detail-page .inner-hero-copy > span { color: inherit; }
.alfa-site .case-detail-page .detail-hero-visual { opacity: .08; }
.alfa-site .service-detail-page .inner-hero-copy > p,
.alfa-site .service-detail-page .inner-hero-copy > span,
.alfa-site .service-detail-page .service-hero-extra { color: #141416; }
.alfa-site .offering-grid article { scroll-margin-top: 110px; }
.alfa-site .offering-grid h3 { text-transform: none; }
.alfa-site .offering-grid a { font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.alfa-site .service-guidance { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; min-width: 0; padding: 24px; border-radius: 20px; background: var(--muted); }
.alfa-site .service-guidance > span { font-weight: 700; }
.alfa-site .service-guidance p { margin: 0; font-size: 15px; }
.alfa-site .service-guidance a { font-weight: 700; }
.alfa-site .service-directory-row li { max-width: 100%; }
.alfa-site .service-directory-row li a { overflow-wrap: anywhere; }
.alfa-site .case-filter-status { margin: 12px 0 24px; color: var(--ink-80); font-size: 14px; }
.alfa-site .section-dark p, .alfa-site .section-dark .page-section-lead > span { color: #e4e4e7; }
.alfa-site .blog-card-link { display: flex; height: 100%; flex-direction: column; }
.alfa-site .blog-card-link > img { width: 100%; height: 220px; object-fit: cover; }
.alfa-site .blog-copy { flex: 1; }
.alfa-site .result-chart-card img { width: 100%; height: auto; }
.alfa-site .result-chart-card figcaption { margin-top: 16px; font-size: 14px; line-height: 1.5; }
.alfa-site .entry-content img { max-width: 100%; height: auto; }
.alfa-site .entry-content { overflow-wrap: anywhere; }
.alfa-site .entry-content table { display: block; max-width: 100%; overflow-x: auto; }
.alfa-site .address-card { padding: 40px; border-radius: 24px; background: var(--muted); }
.alfa-site .address-street { margin-top: 20px; font-size: 22px; }
.alfa-site .address-card dl { display: grid; gap: 28px; margin: 40px 0; }
.alfa-site .address-card dt { font-weight: 700; }
.alfa-site .address-card dd { margin: 8px 0 0; }
.alfa-site .address-card .dark-button { display: inline-flex; padding: 15px 20px; align-items: center; }
.alfa-site .alfa-unified-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 20px; align-content: start; }
.alfa-site .alfa-unified-form .footer-form-field { min-width: 0; }
.alfa-site .alfa-unified-form input:not([type="checkbox"]):not([type="hidden"]) { width: 100%; min-width: 0; min-height: 52px; height: auto; padding: 14px 16px; border: 1px solid #e4e4e7; border-radius: 12px; background: #fff !important; color: #36363a !important; font-size: 16px; }
.alfa-site .alfa-unified-form input::placeholder { color: #6b6a72; opacity: 1; }
.alfa-site .alfa-unified-form .footer-consent { display: flex; gap: 10px; font-size: 14px; font-weight: 400; }
.alfa-site .alfa-unified-form .footer-consent input { flex: 0 0 22px; width: 22px; height: 22px; min-height: 22px; padding: 0; }
.alfa-site .alfa-unified-form > h3, .alfa-site .alfa-unified-form > button, .alfa-site .form-status { grid-column: 1/-1; }
.alfa-site .form-status { margin: 0; font-size: 14px; line-height: 1.5; }
.alfa-site .form-status:empty { display: none; }
.alfa-site .form-status:not(:empty) { padding: 14px; border-radius: 10px; background: #fff; color: #36363a; }
.alfa-site .form-status.is-error { color: #a0001b; }
.alfa-site .alfa-unified-form button:disabled { opacity: .7; cursor: wait; }
.alfa-site .alfa-unified-form.is-compact { grid-template-columns: 1fr; padding: 28px; }
.alfa-site .service-form .footer-form-field, .alfa-site .service-form .footer-form-field sup,
.alfa-site .service-form .footer-consent, .alfa-site .service-form .footer-consent sup { color: #36363a; }
.alfa-site .service-form .footer-consent input[type="checkbox"] { border-color: #36363a !important; }
.alfa-site .review-list a { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1060px) {
    .alfa-site .service-guidance { grid-column: 2; grid-row: 2/4; }
  .alfa-site .hero .story-row { max-width: calc(100% - 72px); }
}
@media (max-width: 760px) {
  .alfa-site .hero-copy { padding-bottom: 70px; }
  .alfa-site .hero-copy > p { font-size: 15px; line-height: 1.45; }
    .alfa-site .hero .story-row { max-width: 100%; padding-top: 8px; margin-top: 8px; overflow: visible; }
  .alfa-site .hero-actions { flex-wrap: wrap; }
  .alfa-site .hero-title-mobile { overflow-wrap: normal; }
      .alfa-site .service-guidance { grid-column: auto; grid-row: auto; }
  .alfa-site .address-card { padding: 28px 22px; }
  .alfa-site .service-commercial-grid { grid-template-columns: 1fr; }
}
/* Restore the approved composition; blog content matches Figma Main. */
.alfa-site .avatar-stack span { background-image: none; overflow: hidden; }
.alfa-site .avatar-stack span img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.alfa-site .avatar-stack.staff-portraits { max-width: 440px; width: 100%; padding-right: 0; flex-wrap: nowrap; }
.alfa-site .staff-portraits .staff-portrait { position: relative; width: calc((100% + 120px) / 7); height: auto; aspect-ratio: 1; margin-right: -20px; }
.alfa-site .staff-portraits .staff-portrait:last-child { margin-right: 0; }
.alfa-site .staff-portraits .staff-portrait img { position: absolute; width: var(--portrait-width); max-width: none; height: auto; left: var(--portrait-left); top: var(--portrait-top); border-radius: 0; }
.alfa-site .blog-figma .blog-heading { max-width: 100%; margin-bottom: 64px; }
.alfa-site .blog-figma .blog-heading h2 { max-width: 900px; color: #48474d; }
.alfa-site .blog-figma .blog-heading h2 em { color: #ff032e; }
.alfa-site .blog-figma .blog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.alfa-site .blog-figma .blog-card { background: #fff; color: #48474d; border: 1px solid #e4e4e7; border-radius: 24px; overflow: hidden; transform: none; }
.alfa-site .blog-figma .blog-card > img { width: 100%; height: auto; aspect-ratio: 413/233; object-fit: cover; border-radius: 24px; transform: none; }
.alfa-site .blog-figma .blog-copy { padding: 12px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.alfa-site .blog-figma .blog-title { display: flex; align-items: flex-start; gap: 12px; margin: 0; }
.alfa-site .blog-figma .blog-title h3 { flex: 1; margin: 0; font-family: Montserrat, sans-serif; font-size: 20px; line-height: 1.18; font-weight: 700; text-transform: none; color: #48474d; }
.alfa-site .blog-figma .blog-publisher { color: #48474d; font-size: 16px; }
.alfa-site .blog-figma .blog-copy > p { margin: 4px 0 20px; font-size: 16px; line-height: 1.28; color: #48474d; }
.alfa-site .blog-figma .blog-meta { margin-top: auto; padding-top: 12px; display: flex; justify-content: space-between; gap: 8px; }
.alfa-site .blog-figma .blog-meta small { padding: 4px 8px; border-radius: 500px; background: #f6f6f9; color: #64636b; }
.alfa-site .blog-figma time { font-size: 13px; color: #64636b; align-self: center; }
@media(max-width:1060px) { .alfa-site .blog-figma .blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
 .alfa-site .blog-figma .blog-grid { grid-template-columns: 1fr; }
 .alfa-site .blog-figma .blog-heading { margin-bottom: 32px; }
 .alfa-site .alfa-unified-form { grid-template-columns: 1fr; }
}
/* Summary-only portfolio cards keep the shared design without a false CTA. */
.alfa-site .catalog-case-card.is-card-only { cursor: default; }
.alfa-site .catalog-case-card.is-card-only .catalog-case-tags { padding-bottom: 0; }
.alfa-site .catalog-case-top strong { min-width: 0; overflow-wrap: anywhere; }
.alfa-site .catalog-case-top > span { flex-shrink: 0; max-width: 55%; }
