/* AESOST Technology / 2026-09-11 */
.technology-page{background:#fff;color:#17181c}
.technology-page .page-hero{padding:104px 0 96px;border-bottom:1px solid #e7e9ed;background:#fff!important}
.technology-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:72px;align-items:center}
.technology-hero-copy{max-width:650px}
.technology-hero-copy .page-title{max-width:650px;margin-top:20px}
.technology-hero-copy .lead{max-width:620px;margin-top:26px;color:#666a72!important}
.technology-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.technology-hero-tags span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #dfe1e5;border-radius:999px;background:#fff;color:#777b83;font-size:10px;font-weight:700;letter-spacing:.06em}

/* hero architecture — technical system map rather than stacked cards */
.architecture-preview{position:relative;overflow:hidden;padding:18px;border:1px solid #dde1e7;border-radius:16px;background:#f6f7f9;box-shadow:0 18px 44px rgba(20,20,24,.045)}
.architecture-preview:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(96,101,111,.13) 1px,transparent 0);background-size:16px 16px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 88%)}
.architecture-preview>*{position:relative;z-index:1}
.arch-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 2px 14px;color:#7f848d;font-size:9px;font-weight:750;letter-spacing:.11em}
.arch-top-title{display:inline-flex;align-items:center;gap:8px}
.arch-top-title i{width:7px;height:7px;border-radius:50%;background:#7657f6;box-shadow:0 0 0 4px rgba(118,87,246,.09)}
.arch-top b{color:#7657f6;font-size:9px}
.arch-status{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:12px;overflow:hidden;border:1px solid #e1e4e9;border-radius:8px;background:#e1e4e9}
.arch-status span{display:flex;align-items:center;justify-content:center;min-height:28px;background:rgba(255,255,255,.88);color:#9297a0;font-size:8px;font-weight:750;letter-spacing:.08em}
.arch-status span:last-child{color:#6548c7;background:#faf8ff}
.arch-flow{display:grid;grid-template-columns:minmax(0,.92fr) 28px minmax(0,1.14fr) 28px minmax(0,1fr);grid-template-rows:minmax(210px,auto) auto;gap:12px 8px;align-items:stretch}
.arch-flow>article,.arch-split article{position:relative;min-width:0;padding:18px;border:1px solid #dfe3e8;border-radius:10px;background:rgba(255,255,255,.96)}
.arch-flow>article small,.arch-split article small{display:block;color:#9a9fa8;font-size:8px;font-weight:750;letter-spacing:.1em}
.arch-flow>article strong,.arch-split article strong{display:block;margin-top:10px;color:#17181c;font-size:14px;line-height:1.3;letter-spacing:-.02em}
.arch-flow>article span,.arch-split article span{display:block;margin-top:6px;color:#858a93;font-size:10px;line-height:1.55}
.arch-entry{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center}
.arch-entry:before{content:'INPUT';position:absolute;right:12px;top:12px;color:#b0b4bc;font-size:7px;font-weight:800;letter-spacing:.12em}
.arch-core{grid-column:3;grid-row:1;border-color:#cfc4f4!important;background:linear-gradient(180deg,#fff 0%,#faf8ff 100%)!important;box-shadow:inset 0 0 0 1px rgba(118,87,246,.03)}
.arch-core:before{content:'';position:absolute;left:-1px;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:#7657f6}
.arch-core small,.arch-core strong{color:#6548c7!important}
.arch-core>span{max-width:180px;margin-top:10px!important}
.arch-core-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:20px}
.arch-core-tags em{min-height:26px;display:flex;align-items:center;justify-content:center;border:1px solid #ddd5f3;border-radius:6px;background:#fff;color:#6f55c7;font-size:8px;font-weight:750;font-style:normal;letter-spacing:.06em}
.arch-arrow{grid-row:1;display:grid;place-items:center;color:#b0b4bd;font-size:15px;font-style:normal}
.arch-arrow:nth-of-type(1){grid-column:2}
.arch-arrow:nth-of-type(2){grid-column:4}
.arch-split{grid-column:5;grid-row:1;display:grid;grid-template-rows:1fr 1fr;gap:8px}
.arch-split article{display:flex;flex-direction:column;justify-content:center;padding:14px}
.arch-split article:first-child:before,.arch-split article:last-child:before{content:'';position:absolute;left:-1px;top:14px;bottom:14px;width:2px;border-radius:0 2px 2px 0;background:#c8cbd2}
.arch-bottom{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center;padding:14px 16px!important;border-color:#ddd5f3!important;background:#faf8ff!important}
.arch-bottom>div:first-child strong{margin-top:5px;color:#6548c7!important;font-size:12px}
.arch-infra-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.arch-infra-grid span{min-height:44px;display:flex!important;flex-direction:column;justify-content:center;margin:0!important;padding:8px 10px;border:1px solid #e2dcf5;border-radius:7px;background:#fff;color:#a09aad!important;font-size:7px!important;font-weight:750;letter-spacing:.08em}
.arch-infra-grid b{display:block;margin-top:3px;color:#4e435f;font-size:10px;letter-spacing:-.01em}

.technology-page .section{padding:96px 0!important}
.technology-page .section-head{margin-bottom:42px!important}
.technology-page .section-copy p{max-width:760px;margin-top:16px!important;color:#6f737b!important}

.tech-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tech-capability-grid>article{min-height:310px;padding:26px;border:1px solid #e1e3e7;border-radius:14px;background:#fff;transition:transform .18s ease,border-color .18s ease}
.tech-capability-grid>article:hover{transform:translateY(-2px);border-color:#cbc1ea}
.tech-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ddd5f3;border-radius:11px;background:#f7f4ff;color:#7657f6}
.tech-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tech-capability-grid .eyebrow{margin-top:30px!important;color:#8b8f97!important;font-size:10px!important}
.tech-capability-grid h3{margin:9px 0 0;color:#17181c;font-size:22px;line-height:1.3;letter-spacing:-.03em}
.tech-capability-grid>article>p:not(.eyebrow){margin:14px 0 0;color:#6f737b;font-size:14px;line-height:1.65}
.tech-capability-grid article>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}
.tech-capability-grid article>div span{padding:6px 9px;border:1px solid #e0e2e6;border-radius:999px;background:#fafafa;color:#777b83;font-size:10px;font-weight:600}

.system-map{display:grid;gap:12px;padding:28px;border:1px solid #e0e3e7;border-radius:18px;background:#fff}
.system-map>i{height:18px;display:grid;place-items:center;color:#b1b5bd;font-size:13px;font-style:normal}
.system-map-row{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;padding:19px 20px;border:1px solid #e3e5e9;border-radius:12px;background:#fff}
.system-map-row>span{color:#8d929b;font-size:10px;font-weight:700;letter-spacing:.08em}
.system-map-row>strong{color:#17181c;font-size:15px}
.system-map-row>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.system-map-row b{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 10px;border:1px solid #e4e6ea;border-radius:8px;background:#f7f8fa;color:#4e5259;font-size:11px;font-weight:600;text-align:center}
.system-map-user{border-color:#d9d0f5;background:#faf8ff}
.system-map-user>span{color:#7657f6}
.system-map-dual{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.system-map-dual .system-map-row{grid-template-columns:120px 1fr}
.system-map-dual .system-map-row>div{grid-template-columns:repeat(2,minmax(0,1fr))}

.implementation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e2e4e8;border-left:1px solid #e2e4e8}
.implementation-grid article{min-height:220px;padding:24px;border-right:1px solid #e2e4e8;border-bottom:1px solid #e2e4e8;background:#fff}
.implementation-grid article>span{color:#7657f6;font-size:11px;font-weight:700;letter-spacing:.08em}
.implementation-grid h3{margin:38px 0 0;color:#17181c;font-size:19px;line-height:1.35;letter-spacing:-.025em}
.implementation-grid p{margin:12px 0 0;color:#737780;font-size:13px;line-height:1.6}

.stack-table{border-top:1px solid #dde0e5}
.stack-table>div{display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid #e2e4e8}
.stack-table>div>span{color:#8a8f98;font-size:11px;font-weight:700;letter-spacing:.08em}
.stack-table>div>div{display:flex;flex-wrap:wrap;gap:8px}
.stack-table b{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #dde0e5;border-radius:8px;background:#fff;color:#454950;font-size:12px;font-weight:600}

.principle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.principle-grid article{min-height:270px;padding:26px;border:1px solid #e1e3e7;border-radius:14px;background:#fff}
.principle-grid article>span{color:#7657f6;font-size:10px;font-weight:700;letter-spacing:.07em}
.principle-grid h3{margin:44px 0 0;color:#17181c;font-size:21px;line-height:1.35;letter-spacing:-.03em}
.principle-grid p{margin:14px 0 0;color:#70747c;font-size:14px;line-height:1.65}

.technology-page .cta-section{padding:84px 0!important}
.technology-page .cta-grid h2{max-width:830px}

@media(max-width:1120px){
  .technology-hero-grid{grid-template-columns:1fr;gap:48px}
  .technology-hero-copy{max-width:760px}
  .architecture-preview{max-width:820px}
  .tech-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .implementation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .technology-page .page-hero{padding:72px 0 64px}
  .technology-page .section{padding:68px 0!important}
  .architecture-preview{padding:14px;border-radius:13px}
  .arch-status{grid-template-columns:1fr 1fr 1fr}
  .arch-flow{grid-template-columns:1fr;grid-template-rows:auto;gap:8px}
  .arch-entry,.arch-core,.arch-split,.arch-bottom{grid-column:1!important;grid-row:auto!important}
  .arch-arrow{display:none}
  .arch-split{grid-template-rows:auto;grid-template-columns:1fr 1fr}
  .arch-bottom{grid-template-columns:1fr;gap:10px}
  .arch-infra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tech-capability-grid,.implementation-grid,.principle-grid{grid-template-columns:1fr}
  .tech-capability-grid>article,.principle-grid article{min-height:0}
  .system-map{padding:16px}
  .system-map-row,.system-map-dual .system-map-row{grid-template-columns:1fr;gap:12px;padding:16px}
  .system-map-row>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-map-dual{grid-template-columns:1fr}
  .stack-table>div{grid-template-columns:1fr;gap:12px}
  .arch-top{align-items:flex-start;flex-direction:column;gap:6px}
}
