@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

/* AESOST TECHNOLOGY — final marketing system
   Inspired by product-led SaaS/editorial layouts: restrained type, wide breathing room,
   centered narrative intros, and large product UI surfaces. */

:root{
  --mf-page:1240px;
  --mf-content:860px;
  --mf-reading:680px;
  --mf-header:72px;
  --mf-section:112px;
  --mf-section-sm:88px;

  --mf-display:clamp(34px,2.6vw,40px);
  --mf-h1:clamp(30px,2.2vw,36px);
  --mf-h2:clamp(25px,1.8vw,30px);
  --mf-h3:clamp(21px,1.45vw,24px);

  --mf-text:#17181c;
  --mf-body:#646a73;
  --mf-muted:#8b919b;
  --mf-line:#e7e9ed;
  --mf-line-strong:#d8dce2;
  --mf-soft:#f7f8fa;
  --mf-purple:#6f58ff;
  --mf-purple-dark:#5942ea;
  --mf-purple-soft:#f4f1ff;
  --mf-dark:#111318;
  --mf-dark-card:#171a20;
}

*{box-sizing:border-box}
html{background:#fff!important;scroll-behavior:smooth}
body{
  margin:0!important;
  background:#fff!important;
  color:var(--mf-text)!important;
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.7!important;
  letter-spacing:-.02em!important;
  word-break:keep-all!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{font-family:inherit!important}
img{max-width:100%;height:auto}
a{text-decoration:none}

/* --------------------------------------------------------------------------
   Shared rail
   -------------------------------------------------------------------------- */
.shell,
.dev-header .shell,
.page-hero-grid.shell,
.request-wrap,
.home-simple .hero-grid,
.technology-page .technology-hero-grid,
.shell.solution-intro-grid,
.solutions-index-page .solution-index-section>.shell,
.solutions-index-page .solution-index-custom>.shell,
.works-page .section.soft>.shell,
.works-page #concept-systems>.shell{
  width:min(calc(100% - 48px),var(--mf-page))!important;
  max-width:var(--mf-page)!important;
  margin-inline:auto!important;
}

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */
.eyebrow,
.kicker,
.primary-service .num,
.process-step>span,
.capability>span,
.about-principle>span,
.definition-card>span,
.service-detail .service-no,
.process-compact>article>span,
.solution-flow>article>span{
  margin:0!important;
  color:var(--mf-muted)!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.4!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}

.display,
.home-simple .display{
  max-width:760px!important;
  margin:18px auto 0!important;
  color:var(--mf-text)!important;
  font-size:var(--mf-display)!important;
  font-weight:620!important;
  line-height:1.18!important;
  letter-spacing:-.045em!important;
}

.page-title,
.request-intro h1,
.technology-page .technology-hero-copy .page-title,
.solution-detail-page .solution-detail-copy .page-title{
  max-width:780px!important;
  margin:0 auto!important;
  color:var(--mf-text)!important;
  font-size:var(--mf-h1)!important;
  font-weight:620!important;
  line-height:1.22!important;
  letter-spacing:-.04em!important;
}

.section-title,
.cta-grid h2,
.solution-intro-copy h2,
.solution-demo-entry h2,
.service-detail h2,
.solution-fit-copy h2{
  max-width:800px!important;
  margin:0 auto!important;
  color:var(--mf-text)!important;
  font-size:var(--mf-h2)!important;
  font-weight:620!important;
  line-height:1.34!important;
  letter-spacing:-.035em!important;
}

.solution-copy h3,
.primary-service h3,
.process-step h3,
.capability h3,
.process-compact h3,
.work-row h3,
.case-body h2,
.case-card h2,
.project-info h3,
.solution-index-card h3,
.solution-catalog-card h3,
.request-section-head h2,
.solution-problems h3,
.solution-flow h3,
.solution-feature-caption h3,
.about-principle h3,
.definition-card h3,
.technology-page .engineering-title h3,
.home-core-card h2{
  color:var(--mf-text)!important;
  font-size:var(--mf-h3)!important;
  font-weight:610!important;
  line-height:1.38!important;
  letter-spacing:-.025em!important;
}

.lead,
.page-hero .lead,
.hero-description,
.request-intro>p:last-child{
  max-width:var(--mf-reading)!important;
  color:var(--mf-body)!important;
  font-size:17px!important;
  font-weight:400!important;
  line-height:1.72!important;
  letter-spacing:-.02em!important;
}

.section-copy p,
.solution-copy p,
.primary-service p,
.process-step p,
.capability p,
.about-principle p,
.definition-card p,
.service-detail .desc,
.solution-intro-copy>p,
.solution-demo-entry p,
.case-body p,
.project-info p,
.cta-grid p,
.footer-intro,
.solution-fit-copy>p{
  color:var(--mf-body)!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.7!important;
  letter-spacing:-.02em!important;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.dev-header{
  min-height:var(--mf-header)!important;
  border-bottom:1px solid var(--mf-line)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:none!important;
  backdrop-filter:blur(16px)!important;
}
.dev-header-inner{
  height:var(--mf-header)!important;
  display:flex!important;
  align-items:center!important;
  gap:28px!important;
}
.dev-brand{
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  flex:0 0 118px!important;
}
.dev-brand img{display:block!important;width:100%!important;height:auto!important}
.dev-nav{
  display:flex!important;
  align-items:center!important;
  gap:28px!important;
  margin-left:auto!important;
}
.dev-nav>a{
  height:var(--mf-header)!important;
  display:inline-flex!important;
  align-items:center!important;
  color:#656b74!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:.045em!important;
  white-space:nowrap!important;
}
.dev-nav>a:hover,
.dev-nav>a.is-active,
.dev-nav>a[aria-current="page"]{color:var(--mf-text)!important}
.dev-nav>a:after{bottom:0!important;height:2px!important;background:var(--mf-purple)!important}
.dev-contact{
  min-height:40px!important;
  padding:0 16px!important;
  border:1px solid var(--mf-line-strong)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#272a30!important;
  font-size:12px!important;
  font-weight:650!important;
  letter-spacing:.02em!important;
  box-shadow:none!important;
}
.dev-contact:hover{border-color:var(--mf-purple)!important;background:var(--mf-purple)!important;color:#fff!important}

/* --------------------------------------------------------------------------
   Main hero — product-first, centered
   -------------------------------------------------------------------------- */
.hero,
.home-simple .hero{
  min-height:auto!important;
  padding:88px 0 96px!important;
  border-bottom:1px solid var(--mf-line)!important;
  background:#fff!important;
}
.home-simple .hero-grid,
.hero-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  align-items:start!important;
}
.hero-copy,
.home-simple .hero-copy{
  width:min(100%,840px)!important;
  max-width:840px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.hero-copy .eyebrow{max-width:760px!important;margin-inline:auto!important;text-align:center!important}
.home-simple .display span{color:var(--mf-purple)!important}
.hero-description,
.home-simple .hero-description{margin:20px auto 0!important;text-align:center!important}
.hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
  margin-top:30px!important;
}
.hero-visual,
.home-simple .hero-visual{
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  margin:56px auto 0!important;
  overflow:hidden!important;
  border:1px solid var(--mf-line)!important;
  border-radius:14px!important;
  background:var(--mf-soft)!important;
  box-shadow:0 18px 60px rgba(28,31,38,.06)!important;
}
.hero-visual img,.home-simple .hero-visual img{display:block!important;width:100%!important}

/* --------------------------------------------------------------------------
   Page heroes — centered intro, optional product visual below
   -------------------------------------------------------------------------- */
.page-hero{
  padding:88px 0 82px!important;
  border-bottom:1px solid var(--mf-line)!important;
  background:#fff!important;
}
.page-hero-grid,
.services-page .page-hero-grid,
.works-page .page-hero-grid,
.solutions-page .page-hero-grid{
  display:block!important;
  text-align:center!important;
}
.page-hero-grid>.eyebrow{margin:0 auto 18px!important;text-align:center!important}
.page-hero-grid>div{
  width:min(100%,var(--mf-content))!important;
  max-width:var(--mf-content)!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.page-hero .lead,.page-hero-grid .lead{margin:22px auto 0!important;text-align:center!important}

/* Technology hero becomes product-led: copy above, map below */
.technology-page .technology-hero{padding:88px 0 96px!important}
.technology-page .technology-hero-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  text-align:center!important;
}
.technology-page .technology-hero-copy{
  width:min(100%,820px)!important;
  max-width:820px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.technology-page .technology-hero-copy .eyebrow{text-align:center!important;margin-bottom:18px!important}
.technology-page .technology-hero-copy .page-title{text-align:center!important;margin-inline:auto!important}
.technology-page .technology-hero-copy .lead{margin:22px auto 0!important;text-align:center!important}
.technology-page .technology-hero-tags{justify-content:center!important;margin-top:26px!important}
.technology-page .architecture-preview{
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  margin:52px auto 0!important;
  border:1px solid var(--mf-line)!important;
  border-radius:14px!important;
  box-shadow:0 18px 60px rgba(28,31,38,.05)!important;
}

/* Solution detail hero: centered copy + large UI below */
.solution-detail-page .page-hero{padding:88px 0 96px!important}
.solution-detail-hero{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  align-items:start!important;
}
.solution-detail-copy{
  width:min(100%,820px)!important;
  max-width:820px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.solution-detail-copy .eyebrow{text-align:center!important;margin-bottom:18px!important}
.solution-detail-copy .page-title{text-align:center!important;margin-inline:auto!important}
.solution-detail-copy .lead{margin:22px auto 0!important;text-align:center!important}
.solution-detail-tags{justify-content:center!important;margin-top:24px!important}
.solution-detail-page .hero-actions{justify-content:center!important}
.solution-detail-visual{
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  margin:48px auto 0!important;
  overflow:hidden!important;
  border:1px solid var(--mf-line)!important;
  border-radius:14px!important;
  background:var(--mf-soft)!important;
  box-shadow:0 18px 60px rgba(28,31,38,.05)!important;
}

/* --------------------------------------------------------------------------
   Section rhythm / centered narrative intros
   -------------------------------------------------------------------------- */
.section{padding:var(--mf-section) 0!important;border-bottom:0!important;background:#fff!important}
.section.soft{background:var(--mf-soft)!important}
.section-head,
.services-page .section-head,
.project-room-page .pr-section-head{
  display:block!important;
  width:min(100%,var(--mf-content))!important;
  max-width:var(--mf-content)!important;
  margin:0 auto 58px!important;
  text-align:center!important;
}
.section-head>.eyebrow,
.project-room-page .pr-section-head>.eyebrow{margin:0 auto 18px!important;text-align:center!important}
.section-head>.section-copy,
.project-room-page .pr-section-copy{
  width:100%!important;
  max-width:var(--mf-content)!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.section-head .section-title,
.project-room-page .pr-section-copy h2{text-align:center!important}
.section-head .section-copy>p,
.project-room-page .pr-section-copy>p{
  max-width:var(--mf-reading)!important;
  margin:20px auto 0!important;
  text-align:center!important;
}

/* Intro sections without .section-head */
.solution-intro-grid,
.solution-fit-grid{
  display:block!important;
  width:min(100%,1040px)!important;
  max-width:1040px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.solution-intro-grid>.eyebrow,
.solution-fit-grid>.eyebrow{margin:0 auto 18px!important;text-align:center!important}
.solution-intro-copy,
.solution-fit-copy{
  width:100%!important;
  max-width:var(--mf-content)!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.solution-intro-copy>p,.solution-fit-copy>p{margin:20px auto 0!important;text-align:center!important}

/* Keep detailed cards/content left aligned */
.solution-problems,
.solution-fit-points,
.solution-problems article,
.solution-fit-points>*{text-align:left!important}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.btn,
.primary-button,
.secondary-button,
.request-submit button{
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:8px!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:650!important;
  line-height:1!important;
  letter-spacing:-.01em!important;
  transition:.18s ease!important;
}
.btn.purple{border-color:var(--mf-purple)!important;background:var(--mf-purple)!important;color:#fff!important}
.btn.purple:hover{border-color:var(--mf-purple-dark)!important;background:var(--mf-purple-dark)!important}
.btn.secondary{border-color:var(--mf-line-strong)!important;background:#fff!important;color:var(--mf-text)!important}
.btn.secondary:hover{border-color:#bfc4cb!important;background:#fafafa!important}

/* --------------------------------------------------------------------------
   Cards / grids
   -------------------------------------------------------------------------- */
.home-core-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.home-core-card,
.process-compact article,
.capability,
.process-step,
.about-principle,
.definition-card,
.solution-problems article,
.solution-flow article,
.solution-custom-card,
.tech-capability-grid>article,
.implementation-grid>article,
.principle-grid>article{
  border:1px solid var(--mf-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.home-core-card{min-height:260px!important;padding:28px 30px!important}
.home-core-card:hover,
.solution-index-card:hover,
.case-card:hover,
.project-card:hover{transform:translateY(-2px)!important;border-color:#d3d7dd!important}
.home-core-card p{font-size:16px!important;line-height:1.7!important}
.home-core-card a{color:var(--mf-purple)!important;font-size:13px!important;font-weight:650!important}

/* Service split content */
.services-page .solution-stack{width:min(100%,1120px)!important;margin-inline:auto!important;display:grid!important;gap:96px!important}
.solution-row,
.services-page .solution-row,
.services-page .solution-row.reverse{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,1fr)!important;
  gap:64px!important;
  align-items:center!important;
}
.solution-row.reverse .solution-visual,
.services-page .solution-row.reverse .solution-visual{order:2!important}
.solution-row.reverse .solution-copy,
.services-page .solution-row.reverse .solution-copy{order:1!important}
.solution-copy{max-width:520px!important}
.solution-copy h3{margin:14px 0!important}
.solution-meta{margin-top:22px!important}

/* Process / feature cards */
.process-compact{
  width:100%!important;
  margin-left:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  border:0!important;
  background:transparent!important;
}
.process-compact article{min-height:210px!important;padding:26px!important}
.process-compact h3{margin:34px 0 10px!important}
.process-compact p{font-size:15px!important;line-height:1.65!important}

/* Manyfast-like dark process/demo bands */
.section.dark{
  background:var(--mf-dark)!important;
  color:#fff!important;
}
.section.dark .eyebrow{color:#868c97!important}
.section.dark .section-title,
.section.dark h2,
.section.dark h3{color:#fff!important}
.section.dark p{color:#b2b7c0!important}
.section.dark .process-compact article,
.section.dark .solution-demo-entry,
.section.dark .solution-flow article{
  border-color:#2b2f37!important;
  background:var(--mf-dark-card)!important;
}
.section.dark .service-process-icon{
  border-color:#3d345b!important;
  background:#1b1726!important;
}

/* Works */
.case-grid,
.works-page .case-grid,
.works-page .project-grid,
.project-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:34px 22px!important;
}
.case-card,
.project-card{
  overflow:hidden!important;
  border:1px solid var(--mf-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.case-visual,
.project-thumb{overflow:hidden!important;border-radius:0!important;background:var(--mf-soft)!important}
.case-visual img,
.project-thumb img{display:block!important;width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important}
.case-body{padding:22px 24px 26px!important}
.project-info{padding:20px 22px 24px!important}
.case-body p,.project-info p{font-size:15px!important;line-height:1.65!important}

/* Home demos */
.home-demo-head{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:26px!important;
  width:min(100%,var(--mf-content))!important;
  margin:0 auto 52px!important;
  text-align:center!important;
}
.home-demo-head>div{max-width:var(--mf-content)!important;text-align:center!important}
.home-demo-head .eyebrow{text-align:center!important;margin-bottom:18px!important}
.home-demo-head h2{
  margin:0 auto!important;
  color:var(--mf-text)!important;
  font-size:var(--mf-h2)!important;
  font-weight:620!important;
  line-height:1.34!important;
}
.home-demo-head p{max-width:var(--mf-reading)!important;margin:18px auto 0!important;font-size:16px!important}
.home-demo-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.home-demo-card{overflow:hidden!important;border:1px solid var(--mf-line)!important;border-radius:12px!important;background:#fff!important}
.home-demo-card img{aspect-ratio:16/10!important;object-fit:cover!important}
.home-demo-body{padding:18px 20px 22px!important}
.home-demo-body h3{font-size:19px!important;font-weight:620!important}

/* System solutions */
.solutions-index-page .solution-index-hero{padding:88px 0 82px!important}
.solutions-index-page .solution-index-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  max-width:720px!important;
  margin:30px auto 0!important;
  border:0!important;
}
.solutions-index-page .solution-index-stats>span{
  min-height:62px!important;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  border:1px solid var(--mf-line)!important;
  border-radius:9px!important;
  background:#fff!important;
}
.solutions-index-page .solution-index-stats>span>span{
  display:block!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.solutions-index-page .solution-index-stats i{
  width:32px!important;height:32px!important;
  display:grid!important;place-items:center!important;
  border:1px solid #e5dfff!important;
  border-radius:7px!important;
  background:var(--mf-purple-soft)!important;
  color:var(--mf-purple)!important;
}
.solutions-index-page .solution-index-stats b{display:block!important;font-size:19px!important;font-weight:650!important;color:var(--mf-text)!important}
.solutions-index-page .solution-index-stats small{display:block!important;margin-top:3px!important;font-size:10px!important;color:var(--mf-muted)!important}
.solutions-index-page .solution-index-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  margin:0!important;
}
.solutions-index-page .solution-index-card{
  overflow:hidden!important;
  border:1px solid var(--mf-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.solutions-index-page .solution-index-body{padding:24px 26px 26px!important}
.solutions-index-page .solution-index-card p{font-size:15px!important;line-height:1.65!important}
.solutions-index-page .solution-index-thumb-badge{border-radius:6px!important}

/* Technology grids */
.tech-capability-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;width:100%!important;margin:0!important}
.tech-capability-grid>article{min-height:270px!important;padding:24px!important}
.tech-capability-grid h3{font-size:21px!important}
.tech-capability-grid>article>p{font-size:15px!important;line-height:1.65!important}
.implementation-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;width:100%!important;margin:0!important}
.implementation-grid>article{padding:24px!important}
.principle-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;width:100%!important;margin:0!important}
.principle-grid>article{padding:24px!important}
.system-map,.stack-table{width:min(100%,1080px)!important;margin-inline:auto!important}

/* Solution detail internals */
.solution-problems{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:42px!important;
  border:0!important;
  background:transparent!important;
}
.solution-problems article{padding:24px!important}
.solution-feature-guide{width:min(100%,1120px)!important;margin-inline:auto!important}
.solution-feature-browser{overflow:hidden!important;border:1px solid var(--mf-line)!important;border-radius:12px!important;background:#fff!important}
.solution-flow{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  border:0!important;
}
.solution-flow article{min-height:190px!important;padding:24px!important}
.solution-demo-entry{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:28px!important;
  width:min(100%,var(--mf-content))!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.solution-demo-entry>div:first-child{text-align:center!important}
.solution-demo-entry .eyebrow{text-align:center!important;margin-bottom:18px!important}
.solution-demo-entry h2{text-align:center!important}
.solution-demo-entry p{max-width:var(--mf-reading)!important;margin:18px auto 0!important;text-align:center!important}
.solution-demo-entry .hero-actions{justify-content:center!important}

/* Dynamic custom-fit */
.solution-fit-section{background:var(--mf-soft)!important}
.solution-fit-points{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;margin-top:28px!important}
.solution-fit-points span{
  padding:8px 12px!important;
  border:1px solid var(--mf-line-strong)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#636973!important;
  font-size:13px!important;
}

/* Request */
.request-page{padding:88px 0 104px!important;background:#fff!important}
.request-wrap{max-width:var(--mf-page)!important}
.request-intro{
  width:min(100%,var(--mf-content))!important;
  max-width:var(--mf-content)!important;
  margin:0 auto 72px!important;
  text-align:center!important;
}
.request-intro .eyebrow{margin-bottom:18px!important;text-align:center!important}
.request-intro h1{text-align:center!important}
.request-intro>p:last-child{margin:22px auto 0!important;text-align:center!important}
.request-page form{width:min(100%,960px)!important;max-width:960px!important;margin-inline:auto!important}
.request-section{padding:42px 0!important;border-top:1px solid var(--mf-line)!important}
.request-section-head{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:6px 16px!important;margin-bottom:28px!important}
.request-section-head>span{grid-row:1/3!important;color:var(--mf-purple)!important;font-size:12px!important;font-weight:650!important}
.request-section-head h2{font-size:20px!important;font-weight:620!important}
.request-section-head p{font-size:14px!important;color:var(--mf-muted)!important}
.field label{color:#555b64!important;font-size:13px!important;font-weight:600!important}
.field input,.field select,.field textarea{
  width:100%!important;
  border:1px solid var(--mf-line-strong)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--mf-text)!important;
  box-shadow:none!important;
  font-size:15px!important;
}
.field input,.field select{min-height:48px!important;padding:0 14px!important}
.field textarea{min-height:140px!important;padding:14px!important}
.choice span{
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid var(--mf-line-strong)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#666c75!important;
  font-size:13px!important;
  font-weight:550!important;
}
.choice input:checked+span{border-color:var(--mf-purple)!important;background:var(--mf-purple)!important;color:#fff!important}

/* CTA */
.cta-section{
  padding:82px 0!important;
  background:var(--mf-purple)!important;
  color:#fff!important;
}
.cta-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  gap:28px!important;
  width:min(calc(100% - 48px),900px)!important;
  max-width:900px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.cta-grid .eyebrow{color:#ddd7ff!important;text-align:center!important}
.cta-grid h2{color:#fff!important;text-align:center!important}
.cta-grid p{max-width:var(--mf-reading)!important;margin:18px auto 0!important;color:#eeeaff!important;text-align:center!important}
.cta-section .btn{border-color:#fff!important;background:#fff!important;color:#4e38d8!important}

/* Footer */
.dev-footer{
  padding:0 0 30px!important;
  border-top:1px solid var(--mf-line)!important;
  background:#fff!important;
}
.dev-custom-build{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:40px!important;
  padding:32px 0!important;
  margin-bottom:58px!important;
  border-bottom:1px solid var(--mf-line)!important;
}
.dev-custom-build>span{color:var(--mf-muted)!important;font-size:11px!important;font-weight:650!important;letter-spacing:.09em!important}
.dev-custom-build strong{display:block!important;color:var(--mf-text)!important;font-size:18px!important;font-weight:620!important;line-height:1.45!important}
.dev-custom-build p{max-width:760px!important;margin:10px 0 0!important;color:var(--mf-body)!important;font-size:14px!important;line-height:1.65!important}
.footer-top{display:grid!important;grid-template-columns:1.4fr .55fr .9fr!important;gap:56px!important}
.footer-brand{width:118px!important}
.footer-intro{max-width:440px!important;margin-top:20px!important;font-size:14px!important}
.footer-col h4{margin:0 0 16px!important;color:var(--mf-muted)!important;font-size:11px!important;font-weight:650!important}
.footer-col a{display:block!important;margin:8px 0!important;color:#555b64!important;font-size:13px!important;font-weight:500!important}
.footer-bottom{margin-top:46px!important;padding-top:20px!important;border-top:1px solid var(--mf-line)!important;color:var(--mf-muted)!important;font-size:11px!important}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media(max-width:1024px){
  .shell,
  .dev-header .shell,
  .page-hero-grid.shell,
  .request-wrap,
  .home-simple .hero-grid,
  .technology-page .technology-hero-grid,
  .shell.solution-intro-grid,
  .solutions-index-page .solution-index-section>.shell,
  .solutions-index-page .solution-index-custom>.shell,
  .works-page .section.soft>.shell,
  .works-page #concept-systems>.shell{
    width:calc(100% - 40px)!important;
  }
  .dev-nav{gap:18px!important}
  .dev-nav>a{font-size:11px!important}
  .solution-row,
  .services-page .solution-row,
  .services-page .solution-row.reverse{gap:40px!important}
  .process-compact,.principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .implementation-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tech-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:760px){
  :root{
    --mf-header:64px;
    --mf-section:72px;
    --mf-display:clamp(30px,8.4vw,34px);
    --mf-h1:clamp(28px,7.8vw,32px);
    --mf-h2:clamp(23px,6.6vw,28px);
    --mf-h3:clamp(20px,5.8vw,24px);
  }
  body{font-size:16px!important}
  .shell,
  .dev-header .shell,
  .page-hero-grid.shell,
  .request-wrap,
  .home-simple .hero-grid,
  .technology-page .technology-hero-grid,
  .shell.solution-intro-grid,
  .solutions-index-page .solution-index-section>.shell,
  .solutions-index-page .solution-index-custom>.shell,
  .works-page .section.soft>.shell,
  .works-page #concept-systems>.shell{
    width:calc(100% - 32px)!important;
    max-width:none!important;
  }
  .dev-header{min-height:64px!important}
  .dev-header-inner{height:64px!important}
  .dev-nav,.dev-contact{display:none!important}
  .dev-menu{display:block!important;margin-left:auto!important}
  .dev-brand{width:108px!important;min-width:108px!important;max-width:108px!important;flex-basis:108px!important}
  .dev-mobile-nav{
    border-top:1px solid var(--mf-line)!important;
    background:#fff!important;
    padding:8px 16px 22px!important;
  }
  .dev-mobile-nav a{color:var(--mf-text)!important;border-bottom:1px solid var(--mf-line)!important;font-size:15px!important}
  .dev-menu span{background:var(--mf-text)!important}

  .hero,.home-simple .hero{padding:66px 0 72px!important}
  .hero-visual,.home-simple .hero-visual{margin-top:40px!important;border-radius:10px!important}
  .page-hero,
  .technology-page .technology-hero,
  .solution-detail-page .page-hero,
  .solutions-index-page .solution-index-hero{padding:66px 0 68px!important}
  .technology-page .architecture-preview,
  .solution-detail-visual{margin-top:38px!important;border-radius:10px!important}
  .lead,.page-hero .lead,.hero-description,.request-intro>p:last-child{font-size:16px!important}

  .section{padding:72px 0!important}
  .section-head,.services-page .section-head,.project-room-page .pr-section-head{margin-bottom:40px!important}
  .section-head>.eyebrow,.project-room-page .pr-section-head>.eyebrow{margin-bottom:14px!important}
  .section-head .section-copy>p,.project-room-page .pr-section-copy>p{margin-top:16px!important;font-size:15px!important}

  .home-core-grid,
  .home-demo-grid,
  .case-grid,
  .works-page .case-grid,
  .works-page .project-grid,
  .project-grid,
  .solutions-index-page .solution-index-grid,
  .solution-problems,
  .solution-flow,
  .tech-capability-grid,
  .implementation-grid,
  .principle-grid,
  .process-compact{
    grid-template-columns:1fr!important;
  }
  .home-core-card{min-height:0!important;padding:24px!important}
  .solution-row,
  .services-page .solution-row,
  .services-page .solution-row.reverse{grid-template-columns:1fr!important;gap:30px!important}
  .solution-row.reverse .solution-visual,
  .solution-row.reverse .solution-copy,
  .services-page .solution-row.reverse .solution-visual,
  .services-page .solution-row.reverse .solution-copy{order:initial!important}
  .solution-copy{max-width:none!important}
  .solutions-index-page .solution-index-stats{grid-template-columns:1fr!important;max-width:none!important}
  .solution-feature-guide{grid-template-columns:1fr!important}
  .solution-feature-nav{position:static!important}
  .solution-flow article{min-height:0!important}
  .request-page{padding:68px 0 82px!important}
  .request-intro{margin-bottom:54px!important}
  .request-section{padding:36px 0!important}
  .form-grid{grid-template-columns:1fr!important}
  .field.full{grid-column:auto!important}
  .cta-section{padding:66px 0!important}
  .cta-grid{width:calc(100% - 32px)!important}
  .dev-custom-build{grid-template-columns:1fr!important;gap:14px!important;margin-bottom:46px!important}
  .footer-top{grid-template-columns:1fr!important;gap:34px!important}
  .footer-bottom{flex-direction:column!important;gap:8px!important}
}


/* Page-specific specificity normalization */
/* Normalize higher-specificity legacy page rules that would otherwise survive the final layer. */
.home-simple .home-core,
.home-simple .home-demo-section,
.home-simple .home-hook,
.technology-page .section,
.about-page .section,
.services-page .section,
.works-page .section,
.solutions-index-page .section{
  padding-top:var(--mf-section)!important;
  padding-bottom:var(--mf-section)!important;
}
.home-simple .home-core,
.home-simple .home-demo-section{background:#fff!important}
.home-simple .home-hook{background:var(--mf-soft)!important}

.about-page .page-hero,
.services-page .page-hero,
.works-page .page-hero,
.technology-page .technology-hero,
.solutions-index-page .solution-index-hero{
  padding-top:88px!important;
  padding-bottom:82px!important;
}

.home-simple .home-core .section-head{
  margin:0 auto 58px!important;
}
.home-simple .home-core .section-copy p{
  max-width:var(--mf-reading)!important;
  margin:20px auto 0!important;
  color:var(--mf-body)!important;
  font-size:16px!important;
  line-height:1.7!important;
}

.home-simple .home-core-card{
  min-height:260px!important;
  padding:28px 30px!important;
  border:1px solid var(--mf-line)!important;
  border-radius:10px!important;
  background:#fff!important;
}
.home-simple .home-core-card .home-core-icon{
  width:40px!important;
  height:40px!important;
  border:1px solid #e2dcff!important;
  border-radius:8px!important;
  background:var(--mf-purple-soft)!important;
  color:var(--mf-purple)!important;
}
.home-simple .home-core-card .eyebrow{
  margin-top:28px!important;
  color:var(--mf-muted)!important;
}
.home-simple .home-core-card h2{
  margin:10px 0 0!important;
  color:var(--mf-text)!important;
  font-size:var(--mf-h3)!important;
  font-weight:610!important;
  line-height:1.38!important;
}
.home-simple .home-core-card p{
  max-width:560px!important;
  margin:12px 0 0!important;
  color:var(--mf-body)!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.home-simple .home-core-card a{
  margin-top:24px!important;
  color:var(--mf-purple)!important;
  font-size:13px!important;
  font-weight:650!important;
}

.home-simple .home-demo-head{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:26px!important;
  margin:0 auto 52px!important;
}
.home-simple .home-demo-head>div{
  max-width:var(--mf-content)!important;
  text-align:center!important;
}
.home-simple .home-demo-head h2{
  margin:0 auto!important;
  font-size:var(--mf-h2)!important;
  font-weight:620!important;
  line-height:1.34!important;
}
.home-simple .home-demo-head p{
  max-width:var(--mf-reading)!important;
  margin:18px auto 0!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.home-simple .home-demo-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.home-simple .home-demo-card{
  border:1px solid var(--mf-line)!important;
  border-radius:12px!important;
  background:#fff!important;
}
.home-simple .home-demo-card:hover{
  transform:translateY(-2px)!important;
  border-color:#d3d7dd!important;
}
.home-simple .home-demo-body h3{
  color:var(--mf-text)!important;
  font-size:19px!important;
  font-weight:620!important;
}

.home-simple .home-hook-inner{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:28px!important;
  text-align:center!important;
}
.home-simple .home-hook-inner>div{
  max-width:var(--mf-content)!important;
  text-align:center!important;
}
.home-simple .home-hook h2{
  max-width:760px!important;
  margin:0 auto!important;
  color:var(--mf-text)!important;
  font-size:var(--mf-h2)!important;
  font-weight:620!important;
  line-height:1.34!important;
}
.home-simple .home-hook p{
  max-width:var(--mf-reading)!important;
  margin:18px auto 0!important;
  color:var(--mf-body)!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.home-simple .home-hook-points{
  justify-content:center!important;
  margin-top:22px!important;
}
.home-simple .home-hook-points span{
  min-height:30px!important;
  padding:0 10px!important;
  border:1px solid var(--mf-line)!important;
  background:#fff!important;
  color:#686e77!important;
  font-size:11px!important;
}

.technology-page .section-head{
  margin:0 auto 58px!important;
}
.technology-page .section-copy p{
  max-width:var(--mf-reading)!important;
  margin:20px auto 0!important;
  color:var(--mf-body)!important;
}

.works-page .case-grid,
.works-page .project-grid{
  gap:34px 22px!important;
}

@media(max-width:760px){
  .home-simple .home-core,
  .home-simple .home-demo-section,
  .home-simple .home-hook,
  .technology-page .section,
  .about-page .section,
  .services-page .section,
  .works-page .section,
  .solutions-index-page .section{
    padding-top:72px!important;
    padding-bottom:72px!important;
  }
  .about-page .page-hero,
  .services-page .page-hero,
  .works-page .page-hero,
  .technology-page .technology-hero,
  .solutions-index-page .solution-index-hero{
    padding-top:66px!important;
    padding-bottom:68px!important;
  }
  .home-simple .home-core-grid,
  .home-simple .home-demo-grid{
    grid-template-columns:1fr!important;
  }
  .home-simple .home-core-card{padding:24px!important}
}


/* Hero hierarchy normalization / 2026-09-21 */
:root{
  --mf-page-hero-title:clamp(38px,3.1vw,48px);
  --mf-page-hero-copy:17px;
}

/* Homepage: remove the accidental split layout and make the product UI the second beat. */
.home-simple .hero{
  padding:86px 0 96px!important;
}
.home-simple .hero .hero-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  align-items:start!important;
  width:min(calc(100% - 48px),var(--mf-page))!important;
  max-width:var(--mf-page)!important;
  margin-inline:auto!important;
}
.home-simple .hero .hero-copy{
  width:min(100%,860px)!important;
  max-width:860px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.home-simple .hero .hero-copy .eyebrow{
  max-width:760px!important;
  margin:0 auto 20px!important;
  text-align:center!important;
}
.home-simple .hero .display{
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
  font-size:clamp(36px,2.8vw,44px)!important;
  font-weight:650!important;
  line-height:1.18!important;
  letter-spacing:-.045em!important;
}
.home-simple .hero .hero-description{
  max-width:680px!important;
  margin:22px auto 0!important;
  text-align:center!important;
  font-size:17px!important;
}
.home-simple .hero .hero-actions{
  justify-content:center!important;
  margin-top:30px!important;
}
.home-simple .hero .hero-visual{
  width:min(100%,1080px)!important;
  max-width:1080px!important;
  margin:54px auto 0!important;
}

/* Menu page heroes: use Works as the reference hierarchy everywhere. */
.about-page .page-hero,
.services-page .page-hero,
.works-page .page-hero,
.solutions-index-page .solution-index-hero,
.technology-page .technology-hero{
  padding:86px 0 88px!important;
}

.about-page .page-hero-grid,
.services-page .page-hero-grid,
.works-page .page-hero-grid,
.solutions-index-page .page-hero-grid{
  display:block!important;
  width:min(calc(100% - 48px),var(--mf-page))!important;
  max-width:var(--mf-page)!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.about-page .page-hero-grid>.eyebrow,
.services-page .page-hero-grid>.eyebrow,
.works-page .page-hero-grid>.eyebrow,
.solutions-index-page .page-hero-grid>.eyebrow{
  margin:0 auto 20px!important;
  text-align:center!important;
}
.about-page .page-hero-grid>div,
.services-page .page-hero-grid>div,
.works-page .page-hero-grid>div,
.solutions-index-page .page-hero-grid>div{
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.about-page .page-title,
.services-page .page-title,
.works-page .page-title,
.solutions-index-page .page-title,
.technology-page .technology-hero-copy .page-title{
  max-width:900px!important;
  margin:0 auto!important;
  text-align:center!important;
  font-size:var(--mf-page-hero-title)!important;
  font-weight:650!important;
  line-height:1.18!important;
  letter-spacing:-.045em!important;
}
.about-page .page-hero .lead,
.services-page .page-hero .lead,
.works-page .page-hero .lead,
.solutions-index-page .page-hero .lead,
.technology-page .technology-hero-copy .lead{
  max-width:720px!important;
  margin:24px auto 0!important;
  text-align:center!important;
  font-size:var(--mf-page-hero-copy)!important;
  line-height:1.72!important;
}

/* Technology uses the same title hierarchy, then shows the system map below. */
.technology-page .technology-hero-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
.technology-page .technology-hero-copy{
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.technology-page .technology-hero-copy .eyebrow{
  margin:0 auto 20px!important;
  text-align:center!important;
}
.technology-page .technology-hero-tags{
  justify-content:center!important;
}
.technology-page .architecture-preview{
  width:min(100%,1080px)!important;
  max-width:1080px!important;
  margin:52px auto 0!important;
}

/* System solutions metrics stay under the title, centered and balanced. */
.solutions-index-page .solution-index-stats{
  max-width:720px!important;
  margin:32px auto 0!important;
}

/* Request page intro follows the same hierarchy. */
.request-intro{
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin:0 auto 72px!important;
  text-align:center!important;
}
.request-intro h1{
  max-width:900px!important;
  margin:0 auto!important;
  text-align:center!important;
  font-size:var(--mf-page-hero-title)!important;
  font-weight:650!important;
  line-height:1.18!important;
  letter-spacing:-.045em!important;
}
.request-intro>p:last-child{
  max-width:720px!important;
  margin:24px auto 0!important;
  text-align:center!important;
  font-size:17px!important;
}

/* Solution detail hero: same title scale, product UI below. */
.solution-detail-page .solution-detail-copy .page-title{
  max-width:900px!important;
  margin:0 auto!important;
  text-align:center!important;
  font-size:var(--mf-page-hero-title)!important;
  font-weight:650!important;
  line-height:1.18!important;
  letter-spacing:-.045em!important;
}

@media(max-width:760px){
  :root{--mf-page-hero-title:clamp(30px,8.6vw,36px)}
  .home-simple .hero{padding:64px 0 72px!important}
  .home-simple .hero .hero-grid,
  .about-page .page-hero-grid,
  .services-page .page-hero-grid,
  .works-page .page-hero-grid,
  .solutions-index-page .page-hero-grid{
    width:calc(100% - 32px)!important;
  }
  .home-simple .hero .display{font-size:clamp(30px,8.6vw,36px)!important}
  .home-simple .hero .hero-visual,
  .technology-page .architecture-preview{margin-top:38px!important}
  .about-page .page-hero,
  .services-page .page-hero,
  .works-page .page-hero,
  .solutions-index-page .solution-index-hero,
  .technology-page .technology-hero{
    padding:64px 0 66px!important;
  }
}


/* Header navigation + global alignment refinement / 2026-09-22 */
/* Header: logo left, five-item navigation mathematically centered, CTA right. */
.dev-header .dev-header-inner{
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr) 160px!important;
  align-items:center!important;
  gap:24px!important;
}
.dev-header .dev-brand{
  justify-self:start!important;
}
.dev-header .dev-nav{
  justify-self:center!important;
  margin:0!important;
  gap:34px!important;
}
.dev-header .dev-nav>a{
  height:var(--mf-header)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:-.012em!important;
}
.dev-header .dev-contact{
  justify-self:end!important;
  min-width:110px!important;
}
.dev-header .dev-menu{
  justify-self:end!important;
}

/* One visual rail for feature-heavy sections. */
.home-core-grid,
.services-page .solution-stack,
.services-page .process-compact,
.solutions-index-page .solution-index-grid,
.solutions-index-page .solution-custom-grid,
.works-page .case-grid,
.works-page .project-grid,
.technology-page .tech-capability-grid,
.technology-page .system-map,
.technology-page .implementation-grid,
.technology-page .stack-table,
.technology-page .principle-grid,
.solution-feature-guide,
.solution-flow,
.solution-problems{
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Technology page: all section intros and content sit on the same center axis. */
.technology-page .section>.shell{
  width:min(calc(100% - 48px),var(--mf-page))!important;
  max-width:var(--mf-page)!important;
  margin-inline:auto!important;
}
.technology-page .section-head{
  width:min(100%,860px)!important;
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.technology-page .section-head>.eyebrow,
.technology-page .section-head>.section-copy,
.technology-page .section-head .section-title,
.technology-page .section-head .section-copy>p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Keep card internals left aligned while their grids remain centered. */
.tech-capability-grid>article,
.implementation-grid>article,
.principle-grid>article,
.process-compact>article,
.solution-flow>article,
.solution-problems>article{
  text-align:left!important;
}

/* Stack table uses the same 1120px rail as the cards above and below. */
.technology-page .stack-table{
  border-top:1px solid var(--mf-line)!important;
}
.technology-page .stack-table>div{
  grid-template-columns:220px minmax(0,1fr)!important;
  min-height:76px!important;
  align-items:center!important;
}
.technology-page .stack-table>div>span{
  text-align:left!important;
}
.technology-page .stack-table>div>div{
  justify-content:flex-start!important;
}

/* Services / works / solutions: align content widths with section headings. */
.services-page .section>.shell,
.works-page .section>.shell,
.solutions-index-page .section>.shell,
.about-page .section>.shell{
  width:min(calc(100% - 48px),var(--mf-page))!important;
  max-width:var(--mf-page)!important;
  margin-inline:auto!important;
}
.services-page .section-head,
.works-page .section-head,
.solutions-index-page .section-head,
.about-page .section-head{
  width:min(100%,860px)!important;
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Prevent legacy left offsets from surviving on centered sections. */
.services-page .solution-stack,
.services-page .process-compact,
.solutions-index-page .solution-index-grid,
.solutions-index-page .solution-custom-grid,
.works-page .project-grid,
.about-page .process-compact,
.about-page .solution-stack{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Mobile header returns to the compact hamburger layout. */
@media(max-width:760px){
  .dev-header .dev-header-inner{
    display:flex!important;
    height:var(--mf-header)!important;
    gap:16px!important;
  }
  .dev-header .dev-brand{justify-self:auto!important}
  .dev-header .dev-nav,
  .dev-header .dev-contact{display:none!important}
  .dev-header .dev-menu{
    display:block!important;
    margin-left:auto!important;
  }

  .home-core-grid,
  .services-page .solution-stack,
  .services-page .process-compact,
  .solutions-index-page .solution-index-grid,
  .solutions-index-page .solution-custom-grid,
  .works-page .case-grid,
  .works-page .project-grid,
  .technology-page .tech-capability-grid,
  .technology-page .system-map,
  .technology-page .implementation-grid,
  .technology-page .stack-table,
  .technology-page .principle-grid,
  .solution-feature-guide,
  .solution-flow,
  .solution-problems{
    width:100%!important;
    max-width:none!important;
  }

  .technology-page .stack-table>div{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:18px 0!important;
  }
}


/* Technology hard-centering correction / 2026-09-22 */
/* Force every Technology section onto the viewport center axis.
   This removes any surviving legacy left-rail or margin offsets. */
.technology-page main > .section > .shell{
  width:min(calc(100% - 48px),var(--mf-page))!important;
  max-width:var(--mf-page)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}

.technology-page main > .section .section-head{
  width:min(100%,860px)!important;
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
}

.technology-page main > .section .tech-capability-grid,
.technology-page main > .section .system-map,
.technology-page main > .section .implementation-grid,
.technology-page main > .section .stack-table,
.technology-page main > .section .principle-grid{
  width:min(100%,1080px)!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

/* Keep all cards/tables internally aligned to the same left edge. */
.technology-page .tech-capability-grid,
.technology-page .implementation-grid,
.technology-page .principle-grid{
  justify-content:center!important;
}
.technology-page .stack-table{
  box-sizing:border-box!important;
}
.technology-page .stack-table>div{
  width:100%!important;
  margin:0!important;
}

/* Tablet/mobile keep the same center axis. */
@media(max-width:1024px){
  .technology-page main > .section > .shell{
    width:calc(100% - 40px)!important;
  }
  .technology-page main > .section .tech-capability-grid,
  .technology-page main > .section .system-map,
  .technology-page main > .section .implementation-grid,
  .technology-page main > .section .stack-table,
  .technology-page main > .section .principle-grid{
    width:100%!important;
    max-width:none!important;
  }
}
@media(max-width:760px){
  .technology-page main > .section > .shell{
    width:calc(100% - 32px)!important;
  }
}


/* System solution hover visibility fix / 2026-09-22 */
/* Legacy solutions-index.css used a dark hover state.
   Keep cards light and readable on hover. */
.solutions-index-page .solution-index-card,
.solutions-index-page .solution-index-card:hover{
  background:#fff!important;
  color:var(--mf-text)!important;
  border-color:var(--mf-line)!important;
}
.solutions-index-page .solution-index-card:hover{
  border-color:#cfd4dc!important;
  transform:translateY(-2px)!important;
  box-shadow:0 12px 34px rgba(23,24,28,.055)!important;
}
.solutions-index-page .solution-index-card .solution-index-body,
.solutions-index-page .solution-index-card:hover .solution-index-body{
  background:#fff!important;
  color:var(--mf-text)!important;
}
.solutions-index-page .solution-index-card h3,
.solutions-index-page .solution-index-card:hover h3{
  color:var(--mf-text)!important;
}
.solutions-index-page .solution-index-card .solution-index-product,
.solutions-index-page .solution-index-card:hover .solution-index-product{
  color:#7a8089!important;
}
.solutions-index-page .solution-index-card p,
.solutions-index-page .solution-index-card:hover p{
  color:var(--mf-body)!important;
}
.solutions-index-page .solution-index-card:hover .solution-index-top span{
  color:var(--mf-purple)!important;
}
.solutions-index-page .solution-index-card:hover .solution-index-top em{
  color:var(--mf-muted)!important;
}
.solutions-index-page .solution-index-card:hover .solution-index-tags span{
  border-color:var(--mf-line-strong)!important;
  background:#fff!important;
  color:#747a83!important;
}
.solutions-index-page .solution-index-card:hover .solution-index-thumb img{
  opacity:1!important;
  transform:none!important;
}
.solutions-index-page .solution-index-actions a:first-child,
.solutions-index-page .solution-index-actions a:first-child:hover{
  border-color:var(--mf-purple)!important;
  background:var(--mf-purple)!important;
  color:#fff!important;
}
.solutions-index-page .solution-index-actions a:last-child,
.solutions-index-page .solution-index-actions a:last-child:hover{
  border-color:var(--mf-line-strong)!important;
  background:#fff!important;
  color:var(--mf-text)!important;
}


/* System Solutions hard-centering correction / 2026-09-22 */
/* The solution card grid was visually right-shifted.
   Center the entire section shell and lock heading/grid to the same axis. */
.solutions-index-page main > .solution-index-section > .shell,
.solutions-index-page main > .solution-index-custom > .shell{
  width:min(calc(100% - 48px),var(--mf-page))!important;
  max-width:var(--mf-page)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}

.solutions-index-page .solution-index-head,
.solutions-index-page .solution-index-custom .section-head{
  width:min(100%,860px)!important;
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
  text-align:center!important;
}

.solutions-index-page .solution-index-grid{
  width:min(100%,1080px)!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

.solutions-index-page .solution-custom-grid{
  width:min(100%,1080px)!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
}

.solutions-index-page .solution-index-section .hero-actions,
.solutions-index-page .solution-index-custom .hero-actions{
  justify-content:center!important;
  align-self:center!important;
}

/* Equal card columns on the centered rail. */
.solutions-index-page .solution-index-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
}
.solutions-index-page .solution-index-card{
  width:100%!important;
  min-width:0!important;
}

@media(max-width:1024px){
  .solutions-index-page main > .solution-index-section > .shell,
  .solutions-index-page main > .solution-index-custom > .shell{
    width:calc(100% - 40px)!important;
  }
  .solutions-index-page .solution-index-grid,
  .solutions-index-page .solution-custom-grid{
    width:100%!important;
    max-width:none!important;
  }
}

@media(max-width:760px){
  .solutions-index-page main > .solution-index-section > .shell,
  .solutions-index-page main > .solution-index-custom > .shell{
    width:calc(100% - 32px)!important;
  }
  .solutions-index-page .solution-index-grid{
    grid-template-columns:1fr!important;
  }
}


/* Marketing icon SVG safety net / 2026-09-22 */
/* Explicitly define SVG paint for UI icon containers.
   This prevents inline SVGs from falling back to browser-default black fills
   if a page-specific stylesheet is removed or reordered later. */
.home-simple .home-core-icon svg,
.services-page .service-process-icon svg,
.technology-page .tech-icon svg,
.solutions-index-page .solution-index-stats i svg,
.solutions-index-page .solution-custom-card i svg,
.project-room-page .pr-icon svg,
.project-room-page .pr-flow-icon svg,
.project-room-page .pr-tab-icon svg{
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.home-simple .home-core-icon svg *,
.services-page .service-process-icon svg *,
.technology-page .tech-icon svg *,
.solutions-index-page .solution-index-stats i svg *,
.solutions-index-page .solution-custom-card i svg *,
.project-room-page .pr-icon svg *,
.project-room-page .pr-flow-icon svg *,
.project-room-page .pr-tab-icon svg *{
  fill:none!important;
  stroke:currentColor!important;
}
