@charset "UTF-8";
/* line 2, assets/stylesheets/application.css.scss */
:root {
  --ctp-rosewater: #f5e0dc;
  --ctp-flamingo: #f2cdcd;
  --ctp-pink: #f5c2e7;
  --ctp-mauve: #cba6f7;
  --ctp-red: #f38ba8;
  --ctp-maroon: #eba0ac;
  --ctp-peach: #fab387;
  --ctp-yellow: #f9e2af;
  --ctp-green: #a6e3a1;
  --ctp-teal: #94e2d5;
  --ctp-sky: #89dceb;
  --ctp-sapphire: #74c7ec;
  --ctp-blue: #89b4fa;
  --ctp-lavender: #b4befe;
  --ctp-text: #cdd6f4;
  --ctp-subtext1: #bac2de;
  --ctp-subtext0: #a6adc8;
  --ctp-overlay2: #9399b2;
  --ctp-overlay1: #7f849c;
  --ctp-overlay0: #6c7086;
  --ctp-surface2: #585b70;
  --ctp-surface1: #45475a;
  --ctp-surface0: #313244;
  --ctp-base: #1e1e2e;
  --ctp-mantle: #181825;
  --ctp-crust: #11111b;
}

/* line 41, assets/stylesheets/application.css.scss */
* {
  box-sizing: border-box;
}

/* line 46, assets/stylesheets/application.css.scss */
::selection {
  background-color: rgba(147, 153, 178, 0.3);
  color: var(--ctp-text);
}

/* line 51, assets/stylesheets/application.css.scss */
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  line-height: 1.6;
  color: var(--ctp-text);
  background-color: var(--ctp-base);
  margin: 0;
  padding: 0;
}

/* line 61, assets/stylesheets/application.css.scss */
a {
  color: var(--ctp-blue);
}

/* line 64, assets/stylesheets/application.css.scss */
a:hover {
  color: var(--ctp-sky);
}

/* line 68, assets/stylesheets/application.css.scss */
a:visited {
  color: var(--ctp-lavender);
}

/* line 73, assets/stylesheets/application.css.scss */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* line 80, assets/stylesheets/application.css.scss */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 1rem;
}

/* line 92, assets/stylesheets/application.css.scss */
h1 {
  font-size: 2.5rem;
}

/* line 96, assets/stylesheets/application.css.scss */
h2 {
  font-size: 2rem;
}

/* line 100, assets/stylesheets/application.css.scss */
h3 {
  font-size: 1.5rem;
}

/* line 104, assets/stylesheets/application.css.scss */
.lead {
  font-size: 1.25rem;
  font-weight: 300;
  color: var(--ctp-subtext0);
}

/* line 111, assets/stylesheets/application.css.scss */
.site-header {
  background: var(--ctp-surface0);
  border-bottom: 1px solid var(--ctp-surface1);
  padding: 1rem 0;
}

/* line 117, assets/stylesheets/application.css.scss */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 123, assets/stylesheets/application.css.scss */
.navbar-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ctp-blue);
  text-decoration: none;
}

/* line 133, assets/stylesheets/application.css.scss */
.navbar-logo {
  height: 40px;
  width: auto;
  display: block;
}

/* line 139, assets/stylesheets/application.css.scss */
.navbar-nav {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 2rem;
}

/* line 147, assets/stylesheets/application.css.scss */
.navbar-nav li {
  margin: 0;
}

/* line 151, assets/stylesheets/application.css.scss */
.navbar-nav a {
  color: var(--ctp-text);
  text-decoration: none;
  font-weight: 500;
}

/* line 156, assets/stylesheets/application.css.scss */
.navbar-nav a:hover {
  color: var(--ctp-blue);
}

/* line 163, assets/stylesheets/application.css.scss */
.btn {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.2s;
}

/* line 173, assets/stylesheets/application.css.scss */
.btn.btn-primary {
  background: var(--ctp-blue);
  color: var(--ctp-base);
  border-color: var(--ctp-blue);
}

/* line 178, assets/stylesheets/application.css.scss */
.btn.btn-primary:hover {
  background: var(--ctp-sapphire);
  border-color: var(--ctp-sapphire);
}

/* line 184, assets/stylesheets/application.css.scss */
.btn.btn-outline {
  background: var(--ctp-surface0);
  color: var(--ctp-blue);
  border-color: var(--ctp-blue);
}

/* line 189, assets/stylesheets/application.css.scss */
.btn.btn-outline:hover {
  background: var(--ctp-blue);
  color: var(--ctp-base);
  border-color: var(--ctp-blue);
}

/* line 198, assets/stylesheets/application.css.scss */
.hero {
  background: linear-gradient(135deg, var(--ctp-blue) 0%, var(--ctp-mauve) 100%);
  color: var(--ctp-base);
  padding: 6rem 0;
  text-align: center;
}

/* line 204, assets/stylesheets/application.css.scss */
.hero h1 {
  font-size: 3rem;
  margin-bottom: 1.5rem;
  color: var(--ctp-base);
}

/* line 210, assets/stylesheets/application.css.scss */
.hero .lead {
  font-size: 1.5rem;
  margin-bottom: 2rem;
  color: var(--ctp-crust);
}

/* line 217, assets/stylesheets/application.css.scss */
.hero-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* line 225, assets/stylesheets/application.css.scss */
.services-preview,
.services-detail {
  padding: 4rem 0;
}

/* line 229, assets/stylesheets/application.css.scss */
.services-preview h2,
.services-detail h2 {
  text-align: center;
  margin-bottom: 3rem;
}

/* line 235, assets/stylesheets/application.css.scss */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

/* line 241, assets/stylesheets/application.css.scss */
.service-card {
  background: var(--ctp-surface0);
  padding: 2rem;
  border-radius: 8px;
  text-align: center;
}

/* line 247, assets/stylesheets/application.css.scss */
.service-card h3 {
  color: var(--ctp-blue);
  margin-bottom: 1rem;
}

/* line 254, assets/stylesheets/application.css.scss */
.page-header {
  background: var(--ctp-surface0);
  padding: 3rem 0;
  text-align: center;
  border-bottom: 1px solid var(--ctp-surface1);
}

/* line 262, assets/stylesheets/application.css.scss */
.about-content,
.projects-content,
.industries-content,
.partners-content {
  padding: 4rem 0;
}

/* line 269, assets/stylesheets/application.css.scss */
.about-section,
.service-section,
.industry-section,
.partner-card {
  margin-bottom: 3rem;
}

/* line 275, assets/stylesheets/application.css.scss */
.about-section:first-child,
.service-section:first-child,
.industry-section:first-child,
.partner-card:first-child {
  margin-top: 0;
}

/* line 280, assets/stylesheets/application.css.scss */
.project {
  margin-bottom: 3rem;
}

/* line 283, assets/stylesheets/application.css.scss */
.project:first-child {
  margin-top: 0;
}

/* line 288, assets/stylesheets/application.css.scss */
.approach-grid,
.why-choose-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

/* line 296, assets/stylesheets/application.css.scss */
.approach-item,
.benefit {
  padding: 1.5rem;
  background: var(--ctp-surface0);
  border-radius: 8px;
}

/* line 303, assets/stylesheets/application.css.scss */
.values-list {
  list-style: none;
  padding: 0;
}

/* line 307, assets/stylesheets/application.css.scss */
.values-list li {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  position: relative;
}

/* line 312, assets/stylesheets/application.css.scss */
.values-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--ctp-green);
  font-weight: bold;
}

/* line 322, assets/stylesheets/application.css.scss */
.skills-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}

@media (max-width: 1024px) {
  /* line 322, assets/stylesheets/application.css.scss */
  .skills-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  /* line 322, assets/stylesheets/application.css.scss */
  .skills-grid {
    grid-template-columns: 1fr;
  }
}

/* line 338, assets/stylesheets/application.css.scss */
.skill-category h3 {
  color: var(--ctp-blue);
  margin-bottom: 0.75rem;
}

/* line 343, assets/stylesheets/application.css.scss */
.skill-category ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 348, assets/stylesheets/application.css.scss */
.skill-category ul li {
  padding: 0.5rem 0;
  color: var(--ctp-subtext0);
  border-bottom: 1px solid var(--ctp-surface1);
}

/* line 353, assets/stylesheets/application.css.scss */
.skill-category ul li:last-child {
  border-bottom: none;
}

/* line 361, assets/stylesheets/application.css.scss */
.contact-content {
  padding: 4rem 0;
}

/* line 365, assets/stylesheets/application.css.scss */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
}

@media (max-width: 768px) {
  /* line 365, assets/stylesheets/application.css.scss */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* line 376, assets/stylesheets/application.css.scss */
.contact-methods {
  margin: 2rem 0;
}

/* line 380, assets/stylesheets/application.css.scss */
.contact-method {
  margin-bottom: 1.5rem;
}

/* line 383, assets/stylesheets/application.css.scss */
.contact-method h3 {
  margin-bottom: 0.5rem;
  color: var(--ctp-blue);
}

/* line 389, assets/stylesheets/application.css.scss */
.consultation-info {
  background: var(--ctp-surface0);
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid var(--ctp-blue);
}

/* line 397, assets/stylesheets/application.css.scss */
.inquiry-form {
  background: var(--ctp-surface0);
  padding: 2rem;
  border-radius: 8px;
}

/* line 403, assets/stylesheets/application.css.scss */
.form-group {
  margin-bottom: 1.5rem;
}

/* line 406, assets/stylesheets/application.css.scss */
.form-group label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--ctp-text);
}

/* line 413, assets/stylesheets/application.css.scss */
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--ctp-surface2);
  border-radius: 6px;
  font-size: 1rem;
  background: var(--ctp-surface1);
  color: var(--ctp-text);
}

/* line 424, assets/stylesheets/application.css.scss */
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--ctp-blue);
  box-shadow: 0 0 0 3px rgba(137, 180, 250, 0.2);
}

/* line 433, assets/stylesheets/application.css.scss */
.cta {
  background: var(--ctp-blue);
  color: var(--ctp-base);
  padding: 3rem 0;
  text-align: center;
}

/* line 439, assets/stylesheets/application.css.scss */
.cta h2 {
  margin-bottom: 1rem;
  color: var(--ctp-base);
}

/* line 444, assets/stylesheets/application.css.scss */
.cta p {
  margin-bottom: 2rem;
  color: var(--ctp-crust);
}

/* line 449, assets/stylesheets/application.css.scss */
.cta .btn-primary {
  background: var(--ctp-base);
  color: var(--ctp-text);
  border-color: var(--ctp-base);
}

/* line 454, assets/stylesheets/application.css.scss */
.cta .btn-primary:hover {
  background: var(--ctp-mantle);
  border-color: var(--ctp-mantle);
}

/* line 462, assets/stylesheets/application.css.scss */
.site-footer {
  background: var(--ctp-mantle);
  color: var(--ctp-text);
  padding: 2rem 0;
  text-align: center;
  margin-top: auto;
}

/* line 471, assets/stylesheets/application.css.scss */
.blog-list {
  padding: 4rem 0;
}

/* line 475, assets/stylesheets/application.css.scss */
.posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 2rem;
}

/* line 481, assets/stylesheets/application.css.scss */
.post-card {
  background: var(--ctp-surface0);
  border: 1px solid var(--ctp-surface1);
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 488, assets/stylesheets/application.css.scss */
.post-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

/* line 493, assets/stylesheets/application.css.scss */
.post-card .post-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

/* line 499, assets/stylesheets/application.css.scss */
.post-card .post-content {
  padding: 1.5rem;
}

/* line 502, assets/stylesheets/application.css.scss */
.post-card .post-content h2 {
  margin-bottom: 0.5rem;
}

/* line 505, assets/stylesheets/application.css.scss */
.post-card .post-content h2 a {
  color: var(--ctp-text);
  text-decoration: none;
}

/* line 509, assets/stylesheets/application.css.scss */
.post-card .post-content h2 a:hover {
  color: var(--ctp-blue);
}

/* line 516, assets/stylesheets/application.css.scss */
.post-card .post-meta {
  color: var(--ctp-overlay0);
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

/* line 521, assets/stylesheets/application.css.scss */
.post-card .post-meta .post-date,
.post-card .post-meta .post-author {
  margin-right: 1rem;
}

/* line 527, assets/stylesheets/application.css.scss */
.post-card .post-excerpt {
  color: var(--ctp-subtext0);
  margin-bottom: 1rem;
}

/* line 532, assets/stylesheets/application.css.scss */
.post-card .read-more {
  color: var(--ctp-blue);
  text-decoration: none;
  font-weight: 600;
}

/* line 537, assets/stylesheets/application.css.scss */
.post-card .read-more:hover {
  text-decoration: underline;
}

/* line 544, assets/stylesheets/application.css.scss */
.blog-post {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4rem 2rem;
}

/* line 549, assets/stylesheets/application.css.scss */
.blog-post .post-header {
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--ctp-surface1);
}

/* line 554, assets/stylesheets/application.css.scss */
.blog-post .post-header h1 {
  color: var(--ctp-text);
  margin-bottom: 1rem;
}

/* line 559, assets/stylesheets/application.css.scss */
.blog-post .post-header .post-meta {
  color: var(--ctp-overlay0);
  font-size: 0.875rem;
}

/* line 563, assets/stylesheets/application.css.scss */
.blog-post .post-header .post-meta time {
  margin-right: 1rem;
}

/* line 569, assets/stylesheets/application.css.scss */
.blog-post .post-content {
  color: var(--ctp-subtext0);
  font-size: 1.125rem;
  line-height: 1.8;
}

/* line 574, assets/stylesheets/application.css.scss */
.blog-post .post-content h2 {
  color: var(--ctp-text);
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ctp-surface1);
}

/* line 582, assets/stylesheets/application.css.scss */
.blog-post .post-content h3 {
  color: var(--ctp-text);
  margin-top: 2rem;
  margin-bottom: 1rem;
}

/* line 588, assets/stylesheets/application.css.scss */
.blog-post .post-content p {
  margin-bottom: 1.5rem;
}

/* line 592, assets/stylesheets/application.css.scss */
.blog-post .post-content ol,
.blog-post .post-content ul {
  margin-bottom: 1.5rem;
  padding-left: 2rem;
}

/* line 597, assets/stylesheets/application.css.scss */
.blog-post .post-content ol li,
.blog-post .post-content ul li {
  margin-bottom: 0.5rem;
}

/* line 602, assets/stylesheets/application.css.scss */
.blog-post .post-content pre {
  background: var(--ctp-surface0);
  color: var(--ctp-text);
  padding: 1.5rem;
  border-radius: 8px;
  overflow-x: auto;
  margin-bottom: 1.5rem;
}

/* line 610, assets/stylesheets/application.css.scss */
.blog-post .post-content pre code {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 0.875rem;
  line-height: 1.6;
}

/* line 617, assets/stylesheets/application.css.scss */
.blog-post .post-content code {
  background: var(--ctp-surface0);
  color: var(--ctp-pink);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.9em;
}

/* line 625, assets/stylesheets/application.css.scss */
.blog-post .post-content pre code {
  background: transparent;
  color: inherit;
  padding: 0;
}

/* line 631, assets/stylesheets/application.css.scss */
.blog-post .post-content img,
.blog-post .post-content img.blog-image {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 2rem 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

/* line 642, assets/stylesheets/application.css.scss */
.blog-post .post-footer {
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid var(--ctp-surface1);
}

/* line 647, assets/stylesheets/application.css.scss */
.blog-post .post-footer .back-to-blog {
  color: var(--ctp-blue);
  text-decoration: none;
  font-weight: 600;
}

/* line 652, assets/stylesheets/application.css.scss */
.blog-post .post-footer .back-to-blog:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  /* line 661, assets/stylesheets/application.css.scss */
  .hero h1 {
    font-size: 2rem;
  }
  /* line 665, assets/stylesheets/application.css.scss */
  .hero .lead {
    font-size: 1.2rem;
  }
  /* line 669, assets/stylesheets/application.css.scss */
  .hero-actions {
    flex-direction: column;
    align-items: center;
  }
  /* line 674, assets/stylesheets/application.css.scss */
  .navbar {
    flex-direction: column;
    gap: 1rem;
  }
  /* line 679, assets/stylesheets/application.css.scss */
  .navbar-nav {
    gap: 1rem;
  }
  /* line 683, assets/stylesheets/application.css.scss */
  .blog-post {
    padding: 2rem 1rem;
  }
  /* line 686, assets/stylesheets/application.css.scss */
  .blog-post .post-content {
    font-size: 1rem;
  }
  /* line 689, assets/stylesheets/application.css.scss */
  .blog-post .post-content pre {
    padding: 1rem;
    font-size: 0.8rem;
  }
}
