/* Corporate narrative revision of V7.10; existing brand cards and 3s carousel remain. */
.a711-page { --a711-ink:#102e49; --a711-blue:#0068dc; --a711-muted:#56718b; --a711-line:#d8e6f1; }
.a711-page main .a711-section { padding:76px 0; color:var(--a711-ink); background:#fff; }
.a711-page .a711-shell { width:min(1200px,88%); margin-inline:auto; }
.a711-page .a711-section :is(h2,h3,p,dl,dd,figure,ul) { margin:0; }
.a711-page .a711-section h2 { font-size:clamp(28px,2.5vw,38px); line-height:1.35; letter-spacing:-.8px; font-weight:700; }
.a711-page .a711-section h3 { font-size:22px; line-height:1.45; }
.a711-page .a711-section p { font-size:15px; line-height:1.9; color:var(--a711-muted); }
.a711-page .a711-section .a711-kicker,.a711-page .a711-section .eyeline { display:block; font-size:12px; font-weight:600; color:var(--a711-blue); letter-spacing:1px; margin-bottom:17px; }
.a711-page .a711-heading { margin-bottom:34px; position:static; background:none; }
.a711-page .a711-heading>p:last-child:not(.eyeline):not(.a711-kicker),.a711-page .a711-heading>div>p:last-child:not(.a711-kicker) { margin-top:18px; max-width:760px; }
.a711-page .a711-heading-row { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; }
.a711-page .a711-heading-row>a { flex-shrink:0; }
.a711-page :is(.a711-grid-2,.a711-grid-3,.a711-grid-4) { display:grid; gap:24px; }
.a711-page .a711-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.a711-page .a711-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.a711-page .a711-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.a711-page .a711-card { padding:30px; border:1px solid var(--a711-line); border-radius:12px; background:#fff; }
.a711-page .a711-card p { margin-top:15px; }
.a711-page .a711-card a { display:inline-block; margin-top:20px; font-size:14px; color:var(--a711-blue); font-weight:600; }
.a711-page .a711-card .eyeline { margin-top:0; }
.a711-page .a711-section .a711-link,.a711-page .a711-section .a711-source a { color:var(--a711-blue); font-size:14px; font-weight:600; padding-bottom:5px; background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat; transition:background-size .25s; text-decoration:none; }
.a711-page .a711-section .a711-link:hover,.a711-page .a711-section .a711-source a:hover { background-size:100% 1px; }
.a711-page .a711-actions { display:flex; align-items:center; gap:27px; flex-wrap:wrap; margin-top:25px; }
.a711-page .a711-button { display:inline-flex; align-items:center; justify-content:center; padding:14px 22px; color:#fff; background:var(--a711-blue); border-radius:4px; font-size:14px; font-weight:600; transition:background .25s,transform .25s; }
.a711-page .a711-button:hover { background:#0055b8; transform:translateY(-2px); }
.a711-page .a711-section .a711-note,.a711-page .a711-section .a711-context-note,.a711-page .a711-section .a711-source { font-size:12px; line-height:1.8; color:#6c8499; margin-top:22px; }
.a711-page .a711-source a { margin-left:14px; }
.a711-page .a711-section :is(a,summary,button):focus-visible { outline:2px solid #1482ea; outline-offset:5px; }
.a711-page .a711-section[id] { scroll-margin-top:138px; }

/* Stable identity directly below the rotating banner. */
.a711-page main .a711-identity { padding:66px 0; border-bottom:1px solid #e5edf4; }
.a711-page .a711-identity-layout { display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:center; }
.a711-page .a711-identity .a711-canonical { margin-top:23px; color:#3c5c78; line-height:2.05; font-size:15px; }
.a711-page .a711-identity-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; border-top:1px solid var(--a711-line); margin-top:28px; padding-top:22px; }
.a711-page .a711-identity-facts>div { display:flex; flex-direction:column-reverse; gap:6px; }
.a711-page .a711-identity-facts dt { font-size:12px; color:#738aa0; }
.a711-page .a711-identity-facts dd { color:#006fda; font-size:30px; font-weight:400; }
.a711-page .a711-identity-facts small { font-size:12px; margin-left:5px; color:#7990a4; }
.a711-page .a711-company-photo { position:relative; border-radius:14px; overflow:hidden; align-self:stretch; min-height:350px; }
.a711-page .a711-company-photo img { width:100%; height:100%; object-fit:cover; object-position:84% center; display:block; position:absolute; }
.a711-page .a711-company-photo figcaption { position:absolute; bottom:15px; right:17px; padding:5px 9px; color:#2f5874; background:#ffffffe6; font-size:11px; border-radius:3px; }
.a711-page main .a711-portfolio-note { color:#617c92; font-size:15px; line-height:1.8; margin:-15px 0 30px; max-width:880px; }

/* Five business roles, not an invented sixth business unit. */
.a711-page .a711-business-logic { display:grid; grid-template-columns:240px 1fr; gap:40px; padding:27px 32px; background:linear-gradient(105deg,#eaf4fd,#f6faff); border-radius:12px; margin-bottom:28px; align-items:center; }
.a711-page .a711-business-logic strong { font-size:21px; line-height:1.5; }
.a711-page .a711-business-logic p { font-size:14px; }
.a711-page .a711-business-roles { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--a711-line); border-radius:12px; overflow:hidden; }
.a711-page .a711-business-roles>a { display:flex; flex-direction:column; align-items:flex-start; padding:27px 22px; min-height:280px; transition:background .25s; border-right:1px solid var(--a711-line); }
.a711-page .a711-business-roles>a:last-child { border-right:0; }
.a711-page .a711-business-roles>a:hover { background:#f0f7fe; }
.a711-page .a711-business-roles small { font-size:11px; color:#477ba4; margin-bottom:17px; }
.a711-page .a711-business-roles h3 { font-size:22px; }
.a711-page .a711-business-roles p { font-size:13px; line-height:1.9; margin:16px 0 23px; }
.a711-page .a711-business-roles span { margin-top:auto; font-size:11px; color:#0068ce; padding-top:12px; border-top:1px solid #e2ebf3; width:100%; }

/* Applications are editorial evidence cards, not generic industry promises. */
.a711-page main .a711-practice { background:#f4f8fc; }
.a711-page .a711-case { border:1px solid #dbe7f1; border-radius:12px; overflow:hidden; background:white; display:flex; flex-direction:column; transition:transform .3s,box-shadow .3s; }
.a711-page .a711-case:hover { transform:translateY(-6px); box-shadow:0 18px 35px #163f6914; }
.a711-page .a711-case-top { min-height:156px; position:relative; padding:28px; background:linear-gradient(115deg,#e5f2ff,#f4faff); overflow:hidden; }
.a711-page .a711-case-culture .a711-case-top { background:linear-gradient(115deg,#e8efff,#f1f0fa); }
.a711-page .a711-case-service .a711-case-top { background:linear-gradient(115deg,#e6f5f7,#f1faff); }
.a711-page .a711-case-top>span { font-size:100px; color:#5a92c20c; font-weight:800; position:absolute; right:12px; top:-10px; line-height:1.4; }
.a711-page .a711-case-top p { font-size:12px; margin-bottom:17px; color:#547b9c; }
.a711-page .a711-case-top strong { font-size:27px; font-weight:500; }
.a711-page .a711-case-body { padding:28px; display:flex; flex-direction:column; flex:1; }
.a711-page .a711-case-body>small { font-size:10px; color:#7890a4; margin-bottom:13px; }
.a711-page .a711-case-body>p { margin-top:14px; font-size:14px; }
.a711-page .a711-case-body .a711-note { font-size:11px; line-height:1.8; margin-top:13px; }
.a711-page .a711-case-body>a { margin-top:auto; padding-top:20px; align-self:flex-start; }

/* Company-level technical story, with product detail progressively disclosed. */
.a711-page main .a711-section#architecture,.a711-page main .a711-section#resources { background:#f1f7fc; }
.a711-page .a711-relationship { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #93bee3; border-bottom:1px solid var(--a711-line); }
.a711-page .a711-relationship>div { padding:28px 30px; border-right:1px solid var(--a711-line); }
.a711-page .a711-relationship>div:first-child { padding-left:0; }
.a711-page .a711-relationship>div:last-child { border-right:0; padding-right:0; }
.a711-page .a711-relationship dt span { display:block; color:#6e8aa3; font-size:12px; margin-bottom:14px; }
.a711-page .a711-relationship dt strong { font-size:26px; color:#0871cc; font-weight:600; }
.a711-page .a711-relationship dd { font-size:14px; color:var(--a711-muted); line-height:1.9; margin-top:16px; }
.a711-page .a711-grid-4 .a711-card { padding:29px 23px; border-top:3px solid #76b4e9; }
.a711-page .a711-grid-4 h3 { font-size:21px; }
.a711-page .a711-grid-4 p { font-size:14px; }
.a711-page .a711-architecture-details { background:white; margin-top:33px; border:1px solid #d1e2f0; border-radius:10px; overflow:hidden; }
.a711-page .a711-architecture-details>summary { list-style:none; cursor:pointer; padding:23px 28px; font-size:17px; color:#17609e; font-weight:600; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.a711-page .a711-architecture-details>summary::-webkit-details-marker { display:none; }
.a711-page .a711-architecture-details>summary:after { content:'+'; font-size:25px; font-weight:300; }
.a711-page .a711-architecture-details[open]>summary:after { content:'−'; }
.a711-page .a711-architecture-details>summary:hover { background:#f4f9ff; }
.a711-page .a711-detail-content { padding:0 28px 28px; border-top:1px solid #e7eef5; }
.a711-page .a711-detail-content .arch-tabs { margin-top:20px; }
.a711-page .a711-detail-content .arch-layout { grid-template-columns:1.3fr 1fr; gap:28px; }
.a711-page .a711-detail-content .arch-description h3 { font-size:25px; }
.a711-page .a711-detail-content .a78-mini p,.a711-page .a711-detail-content .r75-scope { font-size:12px; }
.a711-page .a711-process { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; counter-reset:stages; }
.a711-page .a711-process>span { counter-increment:stages; position:relative; background:#edf6ff; padding:25px 18px; border-top:2px solid #62a7e3; font-size:17px; }
.a711-page .a711-process>span:before { content:'0' counter(stages); display:block; color:#76a3c7; font-size:12px; margin-bottom:13px; }
.a711-page #research .a711-grid-2 { margin-top:28px; }
.a711-page .a711-resource-list { border-top:1px solid #bed7eb; }
.a711-page .a711-resource { display:grid; grid-template-columns:170px 1fr; gap:20px; padding:25px 18px; border-bottom:1px solid #d3e4f1; align-items:center; transition:background .25s,padding .25s; }
.a711-page .a711-resource:hover { background:#e7f1fb; padding-left:26px; }
.a711-page .a711-resource-type { color:#4c7b9e; font-size:12px; }
.a711-page .a711-resource strong { display:block; font-size:18px; font-weight:600; }
.a711-page .a711-resource small { display:block; color:#69859c; font-size:12px; margin-top:9px; }

/* Investor relations: accurate labels, dated records and independent official queries. */
.a711-page main .a711-investor-overview { padding:55px 0; }
.a711-page .a711-investor-overview .a711-heading { margin-bottom:0; }
.a711-page .a711-investor-overview .a711-grid-2 { align-items:center; }
.a711-page .a711-company-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.a711-page .a711-company-facts dt { font-size:12px; color:#728ca4; margin-bottom:12px; }
.a711-page .a711-company-facts dd { font-size:22px; line-height:1.45; color:#056ccb; }
.a711-page main .a711-investor-disclosure,.a711-page main .a711-investor-governance { background:#f3f8fc; }
.a711-page .a711-file-list { list-style:none; padding:0; border-top:1px solid #9fc4e0; }
.a711-page .a711-file-row { display:grid; grid-template-columns:minmax(0,1fr) 130px 140px; align-items:center; gap:30px; padding:27px 4px; border-bottom:1px solid var(--a711-line); }
.a711-page .a711-file-category { display:block; font-size:11px; color:#7392aa; margin-bottom:9px; }
.a711-page .a711-file-title h3 { font-size:19px; }
.a711-page .a711-file-row time { font-size:13px; color:#708aa1; }
.a711-page .a711-file-row>a { justify-self:end; }
.a711-page .a711-card a.a711-contact-value { font-size:20px; margin-top:0; font-weight:400; overflow-wrap:anywhere; }
.a711-page .a710-inner-hero>.v5-page-hero-grid { min-height:0!important; padding-block:0!important; }
.a711-page .local-nav>.shell,.a711-page .v5-subnav>.v5-wrap { display:flex; gap:27px; overflow-x:auto; white-space:nowrap; }
.a711-page .local-nav a,.a711-page .v5-subnav a { flex-shrink:0; }

@media(max-width:1050px) {
  .a711-page .a711-identity-layout { grid-template-columns:1.2fr 1fr; gap:30px; }
  .a711-page .a711-business-roles { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .a711-page .a711-business-roles>a { min-height:240px; border-bottom:1px solid var(--a711-line); }
  .a711-page .a711-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .a711-page .a711-business-logic { grid-template-columns:190px 1fr; gap:25px; }
  .a711-page .a711-card { padding:24px; }
  .a711-page .a711-card a.a711-contact-value { font-size:17px; }
  .a711-page .a711-case-body,.a711-page .a711-case-top { padding:23px; }
  .a711-page .a711-file-row { gap:20px; grid-template-columns:minmax(0,1fr) 105px 125px; }
  .a711-page .a711-detail-content .arch-layout { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .a711-page main .a711-section,.a711-page main .a711-identity { padding:49px 0; }
  .a711-page .a711-shell { width:88%; }
  .a711-page .a711-section h2 { font-size:28px; letter-spacing:-.5px; }
  .a711-page .a711-section h3 { font-size:21px; }
  .a711-page .a711-heading { margin-bottom:27px; }
  .a711-page .a711-heading-row { display:block; }
  .a711-page .a711-heading-row>a { margin-top:23px; }
  .a711-page :is(.a711-grid-2,.a711-grid-3,.a711-grid-4,.a711-identity-layout) { grid-template-columns:1fr; gap:22px; }
  .a711-page .a711-identity .a711-canonical { font-size:14px; line-height:2; }
  .a711-page .a711-identity-facts dd { font-size:27px; }
  .a711-page .a711-company-photo { height:260px; min-height:0; margin-top:9px; }
  .a711-page .a711-actions { gap:20px; }
  .a711-page .a711-business-logic { display:block; padding:23px; }
  .a711-page .a711-business-logic p { margin-top:14px; }
  .a711-page .a711-business-roles { grid-template-columns:1fr; }
  .a711-page .a711-business-roles>a { padding:23px; min-height:0; border-right:0; }
  .a711-page .a711-business-roles>a:last-child { border-bottom:0; }
  .a711-page .a711-business-roles small { margin-bottom:9px; }
  .a711-page .a711-business-roles p { margin:10px 0 16px; }
  .a711-page .a711-case-top { min-height:130px; }
  .a711-page .a711-case-body>a { margin-top:14px; }
  .a711-page .a711-relationship { grid-template-columns:1fr; }
  .a711-page .a711-relationship>div,.a711-page .a711-relationship>div:first-child,.a711-page .a711-relationship>div:last-child { border-right:0; border-bottom:1px solid #e0e9f1; padding:25px 0; }
  .a711-page .a711-process { grid-template-columns:repeat(2,1fr); gap:12px; }
  .a711-page .a711-process>span { font-size:16px; padding:18px; }
  .a711-page .a711-architecture-details>summary { padding:20px; font-size:15px; }
  .a711-page .a711-detail-content { padding:0 15px 20px; }
  .a711-page .a711-resource { grid-template-columns:1fr; gap:10px; padding:22px 8px; }
  .a711-page .a711-resource strong { font-size:17px; }
  .a711-page .a711-company-facts { margin-top:9px; }
  .a711-page .a711-company-facts dd { font-size:18px; }
  .a711-page .a711-file-row { grid-template-columns:1fr; gap:13px; padding:22px 0; }
  .a711-page .a711-file-row>a { justify-self:start; }
  .a711-page .a711-file-title h3 { font-size:18px; }
  .a711-page .a711-source a { display:inline-block; margin-left:0; }
  .a711-page main .a711-portfolio-note { font-size:14px; margin:0 0 25px; }
  .a711-page .local-nav>.shell,.a711-page .v5-subnav>.v5-wrap { gap:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .a711-page .a711-case:hover,.a711-page .a711-button:hover { transform:none; }
}
