/* 2026-11-06 product-first site update. Retains legacy behavior and responsive navigation. */
:root{--aa26-ink:#17303f;--aa26-paper:#f8fafc;--aa26-red:#d6301f;--aa26-line:#dce4e8;--aa26-blue:#315f9e}
.taa-new .aa-header-revised .site-nav{gap:clamp(9px,1vw,16px)}
.taa-new .aa-header-revised .site-nav>a:not(.nav-cta){font-size:clamp(.79rem,.94vw,.93rem)}
@media(min-width:1380px) and (max-width:1550px){.taa-new .aa-header-revised .nav-wrap{width:calc(100% - 36px)}.taa-new .aa-header-revised .new-brand{font-size:.88rem}.taa-new .aa-header-revised .site-nav{gap:9px}.taa-new .aa-header-revised .site-nav>a:not(.nav-cta){font-size:.8rem}}
/* Clear mobile nav of stale promotional content; the new Store CTA remains visible. */
body.aa-portfolio-home{background:var(--aa26-paper);color:var(--aa26-ink)}
.aa26-hero{background:linear-gradient(116deg,#132838 1%,#1d4252 100%);color:#f9fafb;padding:84px 0 90px}
.aa26-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4.2vw,76px);align-items:center}
.aa26-eyebrow{font-family:Manrope,Arial,sans-serif;font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin:0 0 17px;color:#176b6a}
.aa26-hero .aa26-eyebrow{color:#9de1d5}
.aa26-hero h1{color:#fff;font-size:clamp(2.55rem,3.5vw,3.85rem);line-height:1.12;letter-spacing:-.055em;margin:0 0 21px;font-weight:850}
.aa26-hero h1 em{font-style:normal;color:#a4e5dc}
.aa26-lead{font-size:1.11rem;line-height:1.73;color:#edf5f8;max-width:690px;margin:0 0 25px}
.aa26-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:19px}
.aa26-actions .button{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;border-radius:10px;font-weight:800;min-height:52px}
.aa26-hero .aa26-actions .button.secondary{color:#fff!important;border-color:#a8cbd2!important;background:transparent!important}
.aa26-hero-note{font-size:.87rem;color:#d8e6eb;margin:0;line-height:1.65}
.aa26-hero-visual{background:#fdfdfd;color:var(--aa26-ink);border-radius:16px;border:1px solid #c0d1d7;box-shadow:0 25px 65px rgba(2,15,22,.23);overflow:hidden;padding:0 23px 22px;transform:rotate(.7deg)}
.aa26-visual-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -23px 23px;background:#ecf1f3;padding:15px 20px;font:800 .68rem/1.3 'IBM Plex Mono',monospace;letter-spacing:.025em}
.aa26-local{color:#107052;white-space:nowrap;font-size:.6rem}
.aa26-visual-question{padding:19px 20px;background:#f2f6fa;border-radius:12px;margin-bottom:16px}
.aa26-visual-question span,.aa26-visual-steps span{display:block;font-size:.69rem;letter-spacing:.07em;font-weight:850;color:#47708b;margin-bottom:7px}
.aa26-visual-question strong{font-size:1.13rem;line-height:1.43;display:block}
.aa26-visual-steps{display:grid;gap:10px}
.aa26-visual-steps div{border:1px solid #dae3e8;border-radius:9px;padding:12px 15px}
.aa26-visual-steps b,.aa26-visual-steps small{display:block}.aa26-visual-steps b{font-size:.92rem}.aa26-visual-steps small{font-size:.75rem;margin-top:4px;color:#536a76}
.aa26-hero-visual>p{font-size:.89rem;line-height:1.45;margin:19px 0 9px;font-weight:750}.aa26-illustrative{display:block;font-size:.69rem;color:#667a84}
.aa26-product-section,.aa26-service-section{padding:91px 0 98px;background:#f8fafc}.aa26-product-section h2,.aa26-workflow h2,.aa26-service-section h2{font-size:clamp(2rem,3vw,2.9rem);line-height:1.18;letter-spacing:-.04em;max-width:850px;margin:0 0 31px;color:#163140}
.aa26-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.aa26-product-card{border-radius:18px;background:#fff;border:1px solid #dce4e8;padding:37px 40px 35px;box-shadow:0 12px 30px rgba(20,46,57,.065)}
.aa26-product-number{font-size:.72rem;font-weight:850;letter-spacing:.15em;color:#225d69}.aa26-product-card h3{font-size:clamp(1.75rem,2.4vw,2.55rem);line-height:1.13;letter-spacing:-.045em;margin:17px 0 17px;color:#132838}
.aa26-product-card p{color:#405a69;font-size:1rem;line-height:1.7;margin:0 0 15px}.aa26-product-card ul{padding-left:22px;color:#254554;line-height:1.9;margin:0 0 24px;font-size:.95rem}
.aa26-product-link{display:inline-flex;gap:8px;align-items:center;font-weight:850;text-decoration:none;border-bottom:2px solid #e1a199;padding-bottom:5px;color:#ba2e25!important;font-size:.95rem}
.aa26-limits{font-size:.8rem;color:#516673;margin:17px 0 0}
.aa26-workflow{background:#edf4f5;padding:80px 0}.aa26-workflow-grid{display:grid;grid-template-columns:.94fr 1.06fr;align-items:start;gap:70px}.aa26-workflow p:not(.aa26-eyebrow){font-size:1.07rem;line-height:1.7;color:#3d5667}.aa26-workflow-items{display:grid;gap:11px}.aa26-workflow-items>div{display:flex;gap:17px;align-items:start;background:#fff;padding:19px 23px;border:1px solid #dce5e7;border-radius:12px}.aa26-workflow-items strong{color:#0b6c6b;font-family:'IBM Plex Mono',monospace}.aa26-workflow-items span{color:#50626b;line-height:1.6}.aa26-workflow-items b{display:block;color:#193b4a}
.aa26-service-section{background:#f0f5f7}.aa26-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.aa26-service-grid article{background:white;border:1px solid #d8e4e9;border-radius:13px;padding:27px}.aa26-service-grid h3{font-size:1.45rem}.aa26-service-grid p{font-size:.96rem;color:#405e6d;line-height:1.65}.aa26-service-grid a{font-weight:850;color:#a8291c!important;text-decoration:none}
.aa26-close{background:#132838;color:#f6fafb;padding:63px 0}.aa26-close-grid{display:flex;gap:35px;justify-content:space-between;align-items:center}.aa26-close h2{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.04em;margin:0 0 12px}.aa26-close p:not(.aa26-eyebrow){color:#e1eff4;margin:0}.aa26-close .aa26-eyebrow{color:#a6dfd7}.aa26-close .button{white-space:nowrap}
/* Store header is intentionally independent of the site's old headers. */
.taa-store .header-inner{gap:22px}.taa-store .desktop-nav{gap:clamp(11px,1.15vw,22px)}
.taa-store .desktop-nav a{font-size:clamp(11px,.85vw,14px);white-space:nowrap;color:#19303e}
.taa-store .nav-store.aa26-store-button{display:inline-flex!important;align-items:center;justify-content:center;border:0!important;border-radius:10px;padding:14px 23px;background:#d6301f;color:#fff;font-size:15px;font-weight:800;line-height:1.1}
.taa-store .nav-store.aa26-store-button:hover{background:#b82719}
.aa26-store-menu{display:none;border:1px solid #d6dce0;border-radius:7px;padding:10px 14px;background:white;color:#17303f;font-weight:800}
.aa26-store-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.aa26-store-product{display:flex;align-items:flex-start;flex-direction:column;background:#fff;border:1px solid #dbe4e6;border-radius:15px;padding:36px;min-width:0}
.aa26-store-product>span{color:#2e6e72;font-size:11px;font-weight:800;letter-spacing:.13em}.aa26-store-product h3{font-size:2.05rem;margin:15px 0 5px}.aa26-store-product h4{font-size:1.36rem;margin:0 0 13px;letter-spacing:-.025em}.aa26-store-product p{color:#4b626e;font-size:.98rem}.aa26-store-product ul{line-height:1.75;padding-left:21px;margin:0 0 23px}.aa26-store-product .btn{margin-top:auto}.aa26-store-product small{display:block;color:#61717a;margin-top:12px;font-size:.79rem}
@media(max-width:1140px){.taa-store .header-inner{gap:12px}.taa-store .desktop-nav{gap:11px}.taa-store .brand{font-size:11.5px}}
@media(max-width:1000px){.taa-store .aa26-store-menu{display:inline-flex;margin-left:auto}.taa-store .desktop-nav{display:none;position:absolute;top:100%;left:16px;right:16px;padding:14px;background:#fff;border:1px solid #e1e5e6;box-shadow:0 12px 25px #162b3d22;border-radius:10px;z-index:20;flex-direction:column;align-items:stretch}.taa-store .desktop-nav.is-open{display:flex}.taa-store .desktop-nav a{font-size:15px;padding:10px}.taa-store .header-actions{margin-left:0}}
@media(max-width:820px){.aa26-hero-grid,.aa26-workflow-grid{grid-template-columns:1fr;gap:30px}.aa26-hero{padding:60px 0}.aa26-hero-visual{max-width:600px;transform:none}.aa26-product-grid,.aa26-store-product-grid{grid-template-columns:1fr}.aa26-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.aa26-hero{padding:48px 0}.aa26-hero h1{font-size:clamp(2.2rem,8vw,3.4rem)}.aa26-lead{font-size:1rem}.aa26-hero-visual{padding:0 14px 17px}.aa26-visual-top{margin:0 -14px 17px;padding:12px 13px;font-size:.55rem}.aa26-visual-question{padding:14px}.aa26-product-section,.aa26-service-section{padding:55px 0}.aa26-product-card,.aa26-store-product{padding:26px}.aa26-workflow{padding:57px 0}.aa26-service-grid{grid-template-columns:1fr}.aa26-close-grid{align-items:flex-start;flex-direction:column}.taa-store .header-inner{gap:8px}.taa-store .brand{font-size:10px}.taa-store .nav-store.aa26-store-button{padding:11px 12px;font-size:12px}.taa-store .aa26-store-menu{padding:10px;font-size:12px}}
@media(max-width:360px){.taa-store .brand span{font-size:9px}.taa-store .brand img{width:28px}.taa-store .aa26-store-menu{font-size:11px;padding:9px 8px}}

/* 2026-11-06 homepage hero contrast correction.
   The legacy .taa-new main > section background-image grid was replacing
   the new hero's background image. Isolate this fix to the homepage and
   align the opening composition with the warm-paper Executive page. */
body.aa-portfolio-home main > section.aa26-hero {
  background:linear-gradient(110deg,#f8f6f1 0%,#f7f5ef 52%,#eef0f7 100%) !important;
  color:#181833 !important;
  border-bottom:1px solid #e3e1e1;
  padding:clamp(60px,6.15vw,96px) 0 clamp(68px,6.6vw,104px);
}
body.aa-portfolio-home main > section.aa26-hero .aa26-hero-grid {
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(38px,5vw,82px);
}
body.aa-portfolio-home main > section.aa26-hero .aa26-hero-copy,
body.aa-portfolio-home main > section.aa26-hero .aa26-hero-visual {min-width:0}
body.aa-portfolio-home main > section.aa26-hero .aa26-eyebrow {
  color:#c83128 !important;
  font:750 clamp(.7rem,.87vw,.82rem)/1.55 'IBM Plex Mono',monospace !important;
  letter-spacing:.13em;
  margin:0 0 27px !important;
}
body.aa-portfolio-home main > section.aa26-hero h1 {
  color:#181833 !important;
  font-size:clamp(2.75rem,4.07vw,4.5rem) !important;
  font-weight:850;
  line-height:1.095 !important;
  letter-spacing:-.06em !important;
  margin:0 0 29px !important;
  max-width:720px;
}
body.aa-portfolio-home main > section.aa26-hero h1 em {
  color:#c93b32 !important;
  font-style:normal !important;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-lead {
  color:#45495b !important;
  font-size:clamp(1.03rem,1.27vw,1.14rem) !important;
  line-height:1.72 !important;
  max-width:650px;
  margin:0 0 29px !important;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-hero-note {
  color:#575d6d !important;
  font-size:.85rem !important;
  line-height:1.65 !important;
  margin:15px 0 0 !important;
  max-width:650px;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-actions {gap:12px;margin:0}
body.aa-portfolio-home main > section.aa26-hero .aa26-actions .button {
  min-height:52px;
  padding:14px 21px;
  font-size:.94rem;
  border-radius:9px;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-actions .button.secondary {
  color:#181833 !important;
  background:#fff !important;
  border:1px solid #bfc1cd !important;
  box-shadow:0 3px 9px rgba(19,22,43,.03);
}
body.aa-portfolio-home main > section.aa26-hero .aa26-actions .button.secondary:hover {
  color:#181833 !important;
  background:#f1f2f6 !important;
  border-color:#858a9d !important;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-hero-visual {
  background:#181833 !important;
  color:#fff !important;
  border:1px solid #2c2c49;
  border-radius:21px;
  padding:0 24px 25px;
  transform:none;
  box-shadow:0 22px 62px rgba(22,22,49,.16);
}
body.aa-portfolio-home main > section.aa26-hero .aa26-visual-top {
  background:transparent !important;
  color:#d5d9ee !important;
  border-bottom:1px solid rgba(255,255,255,.23);
  margin:0 -24px 19px;
  padding:22px 24px;
  font-size:.69rem;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-local {color:#b4e6d7 !important}
body.aa-portfolio-home main > section.aa26-hero .aa26-visual-question {
  background:#272840 !important;
  border:1px solid #44445e;
  color:#fff !important;
  padding:22px;
  margin-bottom:16px;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-visual-question span {
  color:#c7c9e2 !important;
  font-size:.72rem;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-visual-question strong {
  color:#fff !important;
  font-size:1.13rem;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-visual-steps {gap:11px}
body.aa-portfolio-home main > section.aa26-hero .aa26-visual-steps > div {
  background:#fff !important;
  border:1px solid #e2e3e9;
  border-radius:10px;
  padding:15px 19px;
  color:#18273a !important;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-visual-steps span {color:#3b6282 !important}
body.aa-portfolio-home main > section.aa26-hero .aa26-visual-steps b {color:#162d3f !important}
body.aa-portfolio-home main > section.aa26-hero .aa26-visual-steps small {color:#556676 !important}
body.aa-portfolio-home main > section.aa26-hero .aa26-hero-visual > p {
  color:#fff !important;
  font-size:.94rem !important;
  line-height:1.65 !important;
  margin:22px 0 8px !important;
}
body.aa-portfolio-home main > section.aa26-hero .aa26-illustrative {
  color:#bfc5dd !important;
  font-size:.73rem;
}
@media(max-width:820px){
  body.aa-portfolio-home main > section.aa26-hero .aa26-hero-grid {grid-template-columns:1fr;gap:30px}
  body.aa-portfolio-home main > section.aa26-hero .aa26-hero-visual {max-width:670px}
}
@media(max-width:600px){
  body.aa-portfolio-home main > section.aa26-hero {padding:44px 0 56px}
  body.aa-portfolio-home main > section.aa26-hero h1 {font-size:clamp(2.3rem,8vw,3.25rem) !important;line-height:1.11 !important;}
  body.aa-portfolio-home main > section.aa26-hero .aa26-eyebrow {margin-bottom:20px !important;}
  body.aa-portfolio-home main > section.aa26-hero .aa26-lead {font-size:1rem !important;}
  body.aa-portfolio-home main > section.aa26-hero .aa26-actions {flex-direction:column;align-items:stretch}
  body.aa-portfolio-home main > section.aa26-hero .aa26-actions .button {width:100%}
  body.aa-portfolio-home main > section.aa26-hero .aa26-hero-visual {padding:0 17px 21px}
  body.aa-portfolio-home main > section.aa26-hero .aa26-visual-top {margin:0 -17px 17px;padding:17px}
}

/* 2026-11-06 r244: readable desktop header navigation.
   Supersedes legacy narrow-desktop font reductions in styles.css and the
   original 1380-1550px rule at the top of this file. Mobile remains intact. */
@media (min-width: 1380px) {
  .taa-new .aa-header-revised .site-nav {
    gap: clamp(13px, 1.12vw, 20px);
  }
  .taa-new .aa-header-revised .site-nav > a:not(.nav-cta) {
    font-size: 1.1875rem;
    line-height: 1.35;
    font-weight: 750;
  }
  .taa-new .aa-header-revised .site-nav > .nav-cta {
    font-size: 1.25rem;
    font-weight: 800;
    min-height: 58px;
    padding: 15px 23px;
    border-radius: 11px;
  }
}
/* Store has a separate header implementation. Match its type and CTA. */
@media (min-width: 1151px) {
  .taa-store .desktop-nav { gap: clamp(13px, 1.12vw, 20px); }
  .taa-store .desktop-nav a { font-size: 19px; line-height: 1.35; font-weight: 750; }
  .taa-store .nav-store.aa26-store-button {
    min-height: 58px;
    padding: 15px 23px;
    font-size: 20px;
    border-radius: 11px;
  }
}
/* At intermediate widths, use the existing accessible Menu dropdown
   rather than squeezing the larger desktop labels until they wrap. */
@media (min-width: 1001px) and (max-width: 1150px) {
  .taa-store .aa26-store-menu { display: inline-flex; margin-left: auto; }
  .taa-store .desktop-nav {
    display: none; position: absolute; top: 100%; left: 16px; right: 16px;
    padding: 14px; background: #fff; border: 1px solid #e1e5e6;
    box-shadow: 0 12px 25px #162b3d22; border-radius: 10px;
    z-index: 20; flex-direction: column; align-items: stretch;
  }
  .taa-store .desktop-nav.is-open { display: flex; }
  .taa-store .desktop-nav a { font-size: 17px; padding: 10px; }
  .taa-store .header-actions { margin-left: 0; }
}

/* r245: avoid the original cramped 1380-1550px header rule; keep the
   revised menu legible and Store button large where the full menu is shown. */
@media (min-width: 1380px) {
  body.taa-new .aa-header-revised .site-nav > a:not(.nav-cta) { font-size: clamp(20px, 1.32vw, 21px); }
  body.taa-new .aa-header-revised .site-nav > .nav-cta { font-size: clamp(21px, 1.42vw, 22px); }
  body.taa-new .aa-header-revised .new-brand { font-size: clamp(.93rem, 1.05vw, 1.08rem); }
  body.taa-new .aa-header-revised .site-nav { gap: clamp(11px, 1.02vw, 18px); }
}
@media (min-width: 1151px) {
  .taa-store .desktop-nav a { font-size: clamp(20px, 1.31vw, 21px); }
  .taa-store .nav-store.aa26-store-button { font-size: clamp(21px, 1.42vw, 22px); }
}
