:root:has(.onepage) { color-scheme: light dark; }
:root[data-bio-mode="light"]:has(.onepage) { color-scheme: light; }
:root[data-bio-mode="dark"]:has(.onepage) { color-scheme: dark; }
.onepage {
  --ink: light-dark(#20362d, #f2f1e6);
  --muted: light-dark(#4f6053, #bcc9bd);
  --green: light-dark(#284d3c, #c1dbbc);
  --paper: light-dark(#f7f5ed, #18251e);
  --white: light-dark(#fffdf7, #22342a);
  --line: light-dark(#dadccf, #415347);
  --sand: light-dark(#ece9dd, #2a3a2e);
  color: var(--ink);
  background: var(--paper);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
}
.onepage-shell, .onepage-shell > .wp-block-post-content { margin: 0; }
.onepage :where(h1,h2,h3,p,figure) { margin: 0; }
.onepage :where(h1,h2,h3) { font-family: inherit; font-weight: 700; letter-spacing: -.04em; }
.onepage h1 { font-size: clamp(2.9rem, 6.8vw, 5.75rem); line-height: .98; text-wrap: balance; }
.onepage h2 { font-size: clamp(2.05rem, 4.5vw, 3.55rem); line-height: 1.04; text-wrap: balance; }
.onepage h3 { font-size: 1.38rem; line-height: 1.16; }
.onepage .op-wrap { width: min(100% - 3rem, 70rem); margin-inline: auto; }
.onepage .op-head { padding-block: 1.15rem; border-bottom: 1px solid var(--line); }
.onepage .op-header-inner, .onepage .op-footer-inner {
  display: flex; align-items: center; justify-content: space-between; gap: .8rem 1.6rem; flex-wrap: wrap;
}
.onepage .op-brand { font-weight: 750; letter-spacing: -.035em; font-size: 1.28rem; }
.onepage .op-brand a, .onepage .op-menu a { color: inherit; text-decoration: none; }
.onepage .op-menu { display: flex; gap: .6rem 1.15rem; flex-wrap: wrap; color: var(--muted); font-size: .9rem; }
.onepage .op-menu a:hover, .onepage .op-brand a:hover { text-decoration: underline; text-underline-offset: .22em; }
.onepage .op-hero { display: grid; grid-template-columns: 1fr .94fr; gap: clamp(1.6rem, 5vw, 4.6rem); align-items: center; padding-block: clamp(2.8rem, 7vw, 6.4rem); }
.onepage .op-hero-copy, .onepage .op-section-intro { display: grid; justify-items: start; gap: 1rem; }
.onepage .op-kicker { color: var(--green); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 750; }
.onepage .op-lead { color: var(--muted); max-width: 36rem; font-size: clamp(1rem, 1.7vw, 1.21rem); }
.onepage .op-hero-photo { width: 100%; margin: 0; }
.onepage .op-hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1.13; object-fit: cover; border-radius: 1.25rem; }
.onepage .op-buttons { margin: .45rem 0 0; gap: .75rem; }
.onepage .wp-block-button__link {
  background: var(--green); color: light-dark(#fffdf7, #18251e); border-radius: .5rem; border: 1px solid var(--green);
  font-size: .95rem; font-weight: 650; line-height: 1.32; padding: .78rem 1.05rem; text-decoration: none;
}
.onepage .op-secondary .wp-block-button__link { background: transparent; color: var(--green); }
.onepage .wp-block-button__link:hover { text-decoration: underline; text-underline-offset: .22em; }
.onepage a:focus-visible { outline: 2px solid #7f4c24; outline-offset: 4px; }
.onepage .op-section { padding-block: clamp(2.6rem, 6vw, 5.25rem); border-top: 1px solid var(--line); }
.onepage .op-section-intro { margin-bottom: 1.7rem; }
.onepage .op-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem; }
.onepage .op-grid.op-grid-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.onepage .op-card { display: grid; align-content: start; gap: .65rem; padding: clamp(1.2rem, 2.7vw, 1.85rem); background: var(--white); border: 1px solid var(--line); border-radius: .9rem; }
.onepage .op-card p:not(.op-kicker) { color: var(--muted); }
.onepage .op-project { background: var(--sand); }
.onepage .op-contact { display: grid; gap: .9rem; justify-items: start; padding: clamp(1.5rem, 5vw, 3.4rem); background: #284d3c; color: #fffdf7; border-radius: 1.15rem; }
.onepage .op-contact .op-kicker { color: #d8e5d7; }
.onepage .op-contact .op-lead { color: #edf1e7; }
.onepage .op-contact .wp-block-button__link { background: #fffdf7; color: #284d3c; border-color: #fffdf7; }
.onepage .op-contact a:focus-visible { outline-color: var(--white); }
.onepage .op-contact .op-demo-details { color: #edf1e7; font-size: .9rem; max-width: 34rem; }
.onepage .op-contact .op-demo-details summary { cursor: pointer; }
.onepage .op-contact .op-demo-details p { margin-top: .45rem; }
.onepage .op-footer { padding-block: 1.15rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.onepage :where([id]) { scroll-margin-top: 1rem; }
@media (max-width: 780px) {
  .onepage .op-wrap { width: calc(100% - 2rem); }
  .onepage .op-hero { grid-template-columns: minmax(0, 1fr); }
  .onepage .op-hero-photo img { aspect-ratio: 1.42; }
  .onepage .op-grid, .onepage .op-grid.op-grid-two { grid-template-columns: minmax(0, 1fr); }
}

body:has(.onepage) { margin: 0; background: light-dark(#f7f5ed, #18251e); }
.onepage { font-weight: 400; }
.onepage .bio-mode {
  position: static;
  flex: 0 0 2.6rem;
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
}
