/* Shared UX refresh: keep the established A.O. palette and real project imagery. */
:root { --ao-header-offset: 96px; }
html { scroll-padding-top: var(--ao-header-offset); }
[hidden] { display: none !important; }
.site-header { height: auto; background: #fff; }
.site-header__inner { gap: 18px; min-height: 76px; }
.site-header .site-nav { overflow: visible; gap: 4px; }
.site-header .site-nav a, .nav-more > summary, .nav-toggle { min-height: 44px; }
.nav-toggle, .nav-more > summary { font: inherit; color: var(--ao-navy); cursor: pointer; }
.nav-toggle { border: 1px solid #b8c9d8; background: #fff; border-radius: 8px; padding: 8px 12px; }
.nav-more { position: relative; }
.nav-more > summary { display: flex; align-items: center; gap: 8px; padding: 10px 12px; list-style: none; border-radius: 8px; }
.nav-more > summary::-webkit-details-marker { display: none; }
.nav-more > summary::after { content: '+'; font-size: 20px; line-height: 1; }
.nav-more[open] > summary::after { content: '−'; }
.nav-more__links { position: absolute; top: 100%; right: 0; width: 228px; padding: 8px; background: #fff; border: 1px solid #dbe4ec; border-radius: 8px; box-shadow: 0 12px 30px #00366d18; }
.site-header .nav-more__links a { display: flex; align-items: center; white-space: normal; }
.site-header :is(a, button, summary):focus-visible, .project-filters :is(select, button):focus-visible, [data-reset-project-filters]:focus-visible { outline: 3px solid #007a4d; outline-offset: 3px; }
.site-header .site-nav a:hover, .nav-more > summary:hover { background: #e6faf2; }
.ux-home .hero--reference { min-height: 560px; }
.ux-home .hero--reference .hero__inner { padding: 64px 0; align-items: center; }
.ux-home .hero--reference .hero__copy h1 { font-size: clamp(40px, 4.7vw, 64px); line-height: 1.18; }
.ux-home .hero__lead { max-width: 560px; margin-top: 20px; font-size: 18px; line-height: 1.75; }
.ux-home .hero-actions { margin-top: 24px; }
.ux-home .hero__promise { margin: 18px 0 0; color: #fff; font-size: 14px; }
.ux-home .hero-note--reference { align-self: end; }
.ux-home .latest-projects { background: #f4f7fa; color: var(--ao-navy); padding: 56px 0; }
.ux-home .latest-projects__header { align-items: center; gap: 24px; margin-bottom: 28px; }
.ux-home .latest-projects__header h2 { color: var(--ao-navy); font-size: clamp(28px, 3vw, 38px); line-height: 1.35; }
.ux-home .latest-projects__header p { max-width: 660px; color: #496987; margin-top: 12px; }
.ux-home .latest-projects__header .button { color: var(--ao-navy); border-color: #9eb4c8; background: #fff; flex-shrink: 0; }
.ux-home .project-card { background: #fff; border: 1px solid #dde5ed; border-radius: 12px; overflow: hidden; box-shadow: none; }
.ux-home .project-card img { aspect-ratio: 4 / 3; object-fit: cover; }
.ux-home .project-card h3 { font-size: 21px; line-height: 1.5; color: var(--ao-navy); }
.ux-home .project-card p { color: #496987; font-size: 14px; line-height: 1.65; }
.ux-home .project-card span { color: var(--ao-navy); }
.ux-home .trust-strip__inner { gap: 0; padding-block: 12px; }
.ux-home .trust-strip__item { min-height: 0; padding: 20px 16px; }
.ux-home .trust-strip__icon { width: 32px; height: 32px; margin-bottom: 12px; }
.ux-home .trust-strip__item h2 { min-height: 0; font-size: 18px; line-height: 1.5; margin-bottom: 8px; }
.ux-home .trust-strip__item p { font-size: 13px; line-height: 1.65; }
.ux-home .trust-strip__item h2 span, .ux-home .trust-strip__item p span { display: inline; }
.ux-home .trust-strip__item span + span::before { content: ' '; }
.ux-home .about-snapshot__copy h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.4; }
.ux-home .about-snapshot__copy p { font-size: 16px; }
.project-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; padding: 20px; margin: 24px 0; background: #f4f7fa; border: 1px solid #dbe4ec; border-radius: 12px; }
.project-filters label { display: grid; gap: 8px; flex: 1 1 200px; color: var(--ao-navy); font-size: 14px; }
.project-filters select { min-height: 48px; width: 100%; padding: 10px 12px; border: 1px solid #9eb4c8; border-radius: 8px; background: #fff; color: var(--ao-navy); font: inherit; font-size: 16px; }
.project-filters [role=status] { width: 100%; margin: 0; color: #496987; font-size: 14px; }
.project-filters .button, .project-empty .button { color: var(--ao-navy); border-color: #9eb4c8; background: #fff; cursor: pointer; }
.project-empty { padding: 28px; border: 1px dashed #9eb4c8; border-radius: 12px; text-align: center; }
.project-empty p { color: #496987; }
.portfolio-card h2 { line-height: 1.45; font-size: 24px; }
.portfolio-card__location { font-size: 15px; }
.portfolio-evidence-note { padding: 16px 20px; border: 1px solid #dbe4ec; border-radius: 8px; margin: 20px 0; }
.portfolio-evidence-note summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--ao-navy); font-weight: 500; }
.portfolio-evidence-note p { font-size: 14px; color: #496987; }
.contact-form .form-group { min-width: 0; border: 0; border-top: 1px solid #dbe4ec; padding: 18px 0 0; margin: 8px 0 0; display: grid; gap: 16px; }
.contact-form .form-group > legend { padding: 0 10px 0 0; color: var(--ao-navy); font-size: 17px; font-weight: 500; }
.contact-form .form-group > legend span { color: #496987; font-size: 13px; margin-right: 8px; }
.contact-form .field :is(input, select, textarea) { font-size: 16px; }
.contact-form .form-group .field { min-width: 0; }
.contact-form__intro { font-size: 15px; }
@media (min-width: 981px) { .site-header__inner > .brand-link { margin-right: auto; } }
@media (max-width: 980px) {
  :root { --ao-header-offset: 88px; }
  .site-header__inner { flex-wrap: wrap; gap: 8px; min-height: 72px; padding: 8px 0; }
  .site-header .brand-link { min-width: 0; margin-right: auto; }
  .site-header .brand-link img { width: 120px; }
  .site-header .header-cta { margin-left: 0; min-height: 44px; padding: 8px 12px; font-size: 14px; }
  .site-header .header-cta span { display: none; }
  .nav-toggle { order: 2; }
  .site-header .site-nav { order: 3; width: 100%; flex-wrap: wrap; padding: 10px 0; gap: 6px; }
  .site-header.has-menu-toggle .site-nav { position: absolute; inset: 100% 0 auto; width: 100%; max-height: calc(100dvh - 80px); overflow-y: auto; padding: 16px; background: #fff; border-bottom: 1px solid #dbe4ec; box-shadow: 0 16px 24px #00366d12; display: grid; grid-template-columns: 1fr 1fr; }
  .site-header .site-nav > a { padding: 12px; }
  .nav-more { grid-column: 1 / -1; width: 100%; }
  .nav-more__links { position: static; width: 100%; display: grid; grid-template-columns: 1fr 1fr; box-shadow: none; border: 0; padding: 0; }
  .ux-home .hero--reference .hero__inner { padding: 40px 0; }
  .ux-home .hero--reference { min-height: 0; }
  .ux-home .hero-note { display: none; }
  .ux-home .hero__lead { font-size: 16px; max-width: 540px; }
  .ux-home .trust-strip__inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ux-home .trust-strip__item { border-bottom: 1px solid #ffffff30; }
  .ux-home .trust-strip__item:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .ux-home .hero--reference .hero__copy h1 { font-size: clamp(32px, 9.4vw, 40px); line-height: 1.24; }
  .ux-home .hero__label { font-size: 10px; margin-bottom: 12px; }
  .ux-home .hero--reference .hero__inner { padding: 32px 0; }
  .ux-home .hero__lead { margin-top: 16px; }
  .ux-home .hero-actions { margin-top: 20px; gap: 10px; }
  .ux-home .hero--reference .button { min-height: 48px; padding: 10px 16px; }
  .ux-home .hero__promise { font-size: 13px; margin-top: 16px; }
  .ux-home .latest-projects { padding: 36px 0; }
  .ux-home .latest-projects__header { gap: 16px; }
  .ux-home .latest-projects__header h2 { font-size: 27px; }
  .ux-home .latest-projects__header p { font-size: 15px; }
  .ux-home .trust-strip__item { padding: 18px 12px; }
  .ux-home .trust-strip__item h2 { font-size: 16px; }
  .project-filters { padding: 16px; gap: 12px; }
  .project-filters label { flex-basis: 100%; }
  .project-filters .button { width: 100%; }
  .contact-card { padding: 24px 20px; }
  .contact-choice__options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-choice__option { padding: 10px 8px; gap: 7px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.company-scope { margin: 18px 0; }
.company-scope summary { min-height: 44px; padding: 10px 0; cursor: pointer; color: var(--ao-navy); font-weight: 500; }
.company-scope summary:focus-visible, .portfolio-evidence-note summary:focus-visible { outline: 3px solid #007a4d; outline-offset: 3px; }
.contact .contact-card .contact-form__intro, .faq-contact .contact-form__intro { color: #496987; }
.contact-card h3 { font-size: 26px; line-height: 1.45; }
.contact-form .form-group { row-gap: 14px; }

body .contact-card p.contact-form__intro { color: #496987; }

.company-facts { display: grid; gap: 10px; margin: 20px 0; padding: 16px 0; border-block: 1px solid #dbe4ec; }
.company-facts div { display: grid; grid-template-columns: 64px 1fr; gap: 12px; color: #496987; font-size: 14px; }
.company-facts b { color: var(--ao-navy); font-weight: 500; }

/* Approved visual polish — 2026-10-19. */
:root .site-header .brand-link { --logo-ink:150px; position:relative; display:block; flex-shrink:0; width:calc(var(--logo-ink) + 10px); min-width:0; height:44px; overflow:hidden; }
:root .site-header .brand-link img { position:absolute; width:calc(var(--logo-ink) * 1.44123); max-width:none; height:auto; left:calc(5px - var(--logo-ink) * .22062); top:calc((44px - var(--logo-ink) * .22) / 2 - var(--logo-ink) * .22062); }
:root .site-header__inner { min-height:77px; }
:root .ao-word-unit { white-space:nowrap; }
:root .contact-card h3 { text-wrap:balance; line-height:1.45; }
:root .portfolio-card h2 { text-wrap:balance; }
:root .about-snapshot__copy > p + p { margin-top:14px; }
:root .about-snapshot__media img,:root .latest-projects .project-card:first-child img { object-position:center; }

@media(max-width:980px){
 :root .site-header .brand-link { --logo-ink:112px; }
 :root .site-header__inner { min-height:72px; }
}
@media(max-width:640px){
 :root .contact-card h3 { font-size:24px; }
 :root .portfolio-intro { padding-top:36px; }
 :root .portfolio-intro .section-heading { margin-bottom:24px; }
 :root .portfolio-intro .section-heading h2 { font-size:29px; line-height:1.35; text-wrap:balance; }
 :root .portfolio-intro .section-heading p { margin-top:12px; }
 :root .portfolio-evidence-note { padding:10px 16px; margin:16px 0; }
 :root .project-filters { margin-top:16px; }
}

/* Approved hero: one readable promise below the actions, no floating card. */
:root .ux-home .hero__promise { font-size:18px; font-weight:500; line-height:1.6; color:#fff; margin-top:20px; }
@media(max-width:980px){ :root .ux-home .hero__promise { font-size:16px; } }
