
/* Basic reset */
*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  line-height: 1.6;
  color: #222;
  background-color: #fafafa;
}

.container { width: 90%; max-width: 1040px; margin: 0 auto; }

.site-header { background: #ffffff; border-bottom: 1px solid #ddd; }

.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 0; gap: 1rem;
}

.brand-group { display: flex; align-items: center; }

.branding { display: flex; flex-direction: column; }

.header-logo { height: 6em; width: auto; margin-right: 0.75rem; }

.logo-text { font-weight: 600; font-size: 1.1rem; }
.tagline { font-size: 0.85rem; color: #555; }

.site-nav { display: flex; flex-wrap: wrap; }
.site-nav a {
  margin-left: 1rem; text-decoration: none; font-size: 0.95rem;
  color: #333; padding-bottom: 0.25rem; border-bottom: 2px solid transparent;
}
.site-nav a:hover { border-bottom-color: #005f99; }
.site-nav a.active { border-bottom-color: #005f99; font-weight: 600; }

.site-main { padding: 2rem 0 3rem; }

h1 { font-size: 1.6rem; line-height: 1.4; margin-bottom: 0.75rem; }
h2 { font-size: 1.3rem; margin: 1.5rem 0 0.5rem; }
p { margin-bottom: 0.75rem; }

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 2rem; align-items: flex-start; margin-bottom: 2.5rem;
}
.hero-image { margin-top: 38px; }
.hero-image img { width: 100%; border-radius: 6px; display: block; }

.profile {
  display: grid; grid-template-columns: 180px minmax(0, 1fr);
  gap: 1.5rem; margin: 2rem 0;
}
.profile img { width: 100%; border-radius: 4px; margin-top: 28px; }

.services-layout {
  display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 2rem;
}
.services-image img { max-width: 320px; margin-top: 38px; }

.product {
  display: grid; grid-template-columns: 180px minmax(0, 1fr);
  gap: 1.5rem; margin: 2rem 0;
}
.product img { width: 100%; border-radius: 4px; margin-top: 38px; }

.site-footer { background: #fff; border-top: 1px solid #ddd; padding: 1rem 0; font-size: 0.85rem; }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; }
.footer-meta { color: #666; }

@media (max-width: 800px) {
  .hero, .services-layout, .profile, .product { grid-template-columns: 1fr; }
}
