:root {
  --oim-brown: #5a3d2b;
  --oim-brown-dark: #371806;
  --oim-orange: #eb6100;
  --oim-yellow: #f5b800;
  --oim-cream: #fff9ee;
  --oim-line: #eadfd4;
  --oim-white: #fff;
  --oim-shadow: 0 12px 30px rgba(90, 61, 43, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  padding: 64px 0 0;
  overflow-x: hidden;
  background: #fff;
  color: var(--oim-brown);
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: "Shippori Mincho", "Yu Mincho", serif; color: var(--oim-brown-dark); }
.oim-main { min-height: 60vh; }
.oim-container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.oim-eyebrow { margin: 0 0 8px; color: var(--oim-orange); font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.oim-section { padding: 72px 0; }
.oim-section + .oim-section { border-top: 1px solid #f2ebe4; }
.oim-section-heading { margin-bottom: 36px; text-align: center; }
.oim-section-heading h1, .oim-section-heading h2 { margin: 0; font-size: clamp(28px, 4vw, 40px); line-height: 1.4; }
.oim-section-heading--left { text-align: left; }
.oim-button { display: inline-flex; padding: 13px 28px; border-radius: 999px; background: var(--oim-orange); color: #fff; text-decoration: none; font-weight: 700; }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s ease, transform .8s ease; }
.reveal.active { opacity: 1; transform: none; }

@media (max-width: 767px) {
  .oim-container { width: min(100% - 24px, 1180px); }
  .oim-section { padding: 52px 0; }
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
