/* AESOST Site Polish / 2026-09-07
   Final structural refinement layer.
   Explanation groups use spaced cards; navigation stays simple; solution index is a 3-column catalog. */

:root{
  --ui-radius-control:6px;
  --ui-radius-card:10px;
  --ui-radius-panel:10px;
  --ui-radius-explain:10px;
  --ui-card-gap:12px;
  --ui-section-y:72px;
  --ui-section-y-mobile:52px;
}

/* overall rhythm */
.section{padding:var(--ui-section-y) 0!important}
.page-hero{padding:72px 0 64px!important}
.section-head{margin-bottom:40px!important}
.section-head .section-copy p{margin-top:20px!important}
.page-hero .lead{margin-top:22px!important}
.hero-actions{margin-top:28px!important}
.section,.page-hero,.cta-section,.dev-footer{border-color:var(--line)!important}

/* top navigation: only direct links, no product dropdown */
.dev-nav>a{
  height:var(--header-height)!important;
  display:inline-flex!important;
  align-items:center!important;
  position:relative;
}
.dev-nav>a:after{bottom:0!important}
.dev-nav>a.is-active,
.dev-nav>a[aria-current="page"]{color:#fff!important}

/* ---------------------------------------------------------
   System Solutions index
--------------------------------------------------------- */
.solution-index-hero{padding-bottom:72px!important}
.solution-index-stats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}
.solution-index-stats span{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:999px;
  color:#83838c;
  font-size:11px;
  font-weight:600;
  letter-spacing:.055em;
}
.solution-index-stats b{color:#fff;font-size:12px}
.solution-index-section{border-top:1px solid var(--line)}
.solution-index-head{align-items:start!important}
.solution-index-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.solution-index-card{
  min-height:292px;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:34px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0c0c0e;
  color:inherit;
  text-decoration:none;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
a.solution-index-card:hover{
  border-color:#45454d;
  background:#111113;
  transform:translateY(-2px);
}
.solution-index-top,
.solution-index-foot{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.solution-index-top span{
  color:var(--purple-strong);
  font-size:11px;
  font-weight:700;
  letter-spacing:.07em;
}
.solution-index-top em{
  color:#bca5ff;
  font-size:10px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.08em;
}
.solution-index-card h3{
  margin:0;
  color:#f4f4f5;
  font-size:20px;
  line-height:1.4;
  letter-spacing:-.025em;
}
.solution-index-card strong{
  display:block;
  margin-top:8px;
  color:#aaaab2;
  font-size:14px;
  font-weight:500!important;
}
.solution-index-card p{
  max-width:340px;
  margin:18px 0 0;
  color:#8c8c95;
  font-size:14px!important;
  line-height:1.7!important;
}
.solution-index-foot{
  padding-top:16px;
  border-top:1px solid var(--line);
}
.solution-index-foot span{
  color:#66666f;
  font-size:10px;
  font-weight:600;
  letter-spacing:.06em;
}
.solution-index-foot b{
  color:#d1c4ff;
  font-size:11px;
  font-weight:700!important;
  letter-spacing:.06em;
}
.solution-index-card.is-reserved{
  border-style:dashed;
  background:transparent;
  opacity:.62;
}
.solution-index-card.is-reserved .solution-index-top span,
.solution-index-card.is-reserved .solution-index-top em,
.solution-index-card.is-reserved .solution-index-foot b{color:#777780}
.solution-index-card.is-reserved h3{color:#a3a3aa}
.solution-index-custom{border-top:1px solid var(--line)}

/* ---------------------------------------------------------
   Explanation / principle / workflow groups
   These are independent content cards.
--------------------------------------------------------- */
.solution-problems,
.solution-flow,
.capability-grid,
.about-principles,
.process-grid,
.process-compact{
  gap:var(--ui-card-gap)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.solution-problems article,
.solution-flow article,
.capability,
.about-principle,
.process-step,
.process-compact article{
  border:1px solid var(--line)!important;
  border-radius:var(--ui-radius-explain)!important;
  background:#0d0d0f!important;
  box-shadow:none!important;
  overflow:hidden;
}
.solution-problems article,
.solution-flow article{padding:28px 24px!important}
.solution-problems h3,
.solution-flow h3{margin:28px 0 10px!important}
.solution-problems p,
.solution-flow p{
  color:#9b9ba3!important;
  font-size:15px!important;
  line-height:1.65!important;
}
.capability,
.about-principle,
.process-step,
.process-compact article{padding:24px!important}
.capability h3,
.about-principle h3,
.process-step h3,
.process-compact h3{margin:32px 0 12px!important}

/* independent cards */
.project-card,
.case-card,
.solution-catalog-card,
.definition-card,
.work-row,
.metric-card,
.panel,
.finance-summary article{
  border-radius:var(--ui-radius-card)!important;
  box-shadow:none!important;
}
.case-visual,
.project-thumb,
.solution-visual,
.solution-detail-visual,
.system-visual,
.solution-demo-browser,
.solution-feature-browser{
  border-radius:var(--ui-radius-panel)!important;
  overflow:hidden;
}
.project-card,
.case-card,
.solution-catalog-card,
.definition-card,
.work-row{
  border-color:var(--line)!important;
  background:transparent!important;
}
.project-card:hover,
.case-card:hover,
.work-row:hover,
.solution-catalog-card:hover{
  border-color:var(--line-strong)!important;
  background:#0f0f11!important;
}

/* solution detail tab navigation */
.solution-feature-nav{border-top:1px solid var(--line)!important}
.solution-feature-tab{
  min-height:68px!important;
  padding:16px 14px!important;
  border-radius:0!important;
  border-left:2px solid transparent!important;
  border-bottom:1px solid var(--line)!important;
  background:transparent!important;
}
.solution-feature-tab:hover{background:#111113!important}
.solution-feature-tab.is-active{
  border-left-color:var(--purple)!important;
  background:#111113!important;
}
.solution-feature-tab strong{font-size:15px!important}
.solution-feature-tab small{font-size:12px!important}

/* buttons and fields */
.btn,
.dev-contact,
.primary-button,
.secondary-button,
.field input,
.field select,
.field textarea,
.choice span,
.form-notice{border-radius:var(--ui-radius-control)!important}
.cta-section .btn{border-radius:var(--ui-radius-control)!important}
.solution-detail-tags span,
.solution-status span,
.solution-catalog-tags span{border-radius:999px!important}
.service-tags span,
.tech-line span,
.case-tags span,
.solution-meta span{border-radius:4px!important}

/* cleaner catalog and work spacing */
.solution-catalog{gap:16px!important}
.project-grid,.case-grid{gap:24px!important}
.project-info,.case-body{padding-top:18px!important}
.project-info h3,.case-card h2{margin-top:8px!important}

/* content measures */
.solution-detail-copy .lead,
.solution-intro-copy>p,
.section-copy p,
.request-intro>p:last-child{max-width:650px!important}
.solution-detail-tags{margin-top:22px!important}

/* footer */
.footer-col:last-child{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:20px;
  align-content:start;
}
.footer-col:last-child h4{grid-column:1/-1}
.footer-col:last-child a{margin:5px 0!important;line-height:1.45}
.dev-custom-build{border-radius:0!important}

/* request form */
.request-section{padding:40px 0!important}
.request-section-head{margin-bottom:20px!important}
.field input,.field select{min-height:44px!important}
.field textarea{min-height:132px!important}

@media(max-width:1020px){
  .solution-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  :root{--ui-section-y:60px;--ui-card-gap:10px}
  .section-head{margin-bottom:32px!important}
  .footer-col:last-child{grid-template-columns:1fr 1fr}
  .solution-problems,
  .solution-flow,
  .capability-grid,
  .about-principles,
  .process-grid,
  .process-compact{gap:10px!important}
}

@media(max-width:767px){
  .section,.page-hero{padding:var(--ui-section-y-mobile) 0!important}
  .section-head{margin-bottom:28px!important}
  .solution-index-hero{padding-bottom:52px!important}
  .solution-index-grid{grid-template-columns:1fr;gap:10px}
  .solution-index-card{min-height:250px;padding:20px;gap:28px}
  .solution-index-card h3{font-size:18px}
  .solution-index-stats{margin-top:24px}
  .solution-problems article,.solution-flow article{padding:24px 20px!important}
  .solution-problems,
  .solution-flow,
  .capability-grid,
  .about-principles,
  .process-grid,
  .process-compact{gap:10px!important}
  .solution-feature-nav{border-top:0!important}
  .solution-feature-tab{
    min-width:205px!important;
    border:1px solid var(--line)!important;
    border-radius:var(--ui-radius-control)!important;
  }
  .solution-feature-tab.is-active{border-color:var(--purple)!important}
  .project-grid,.case-grid{gap:20px!important}
  .footer-col:last-child{display:block}
  .footer-col:last-child a{margin:8px 0!important}
}