/*
 * OURHOME123 — Measured Possibility for Impreza + WPBakery
 * Editorial property guidance: parchment canvas, espresso type, brass rules,
 * forest advisory accents, threshold frames, field-note rhythm, and restrained motion.
 */

:root {
  --oh123-paper: #f5f2e9;
  --oh123-paper-bright: #fbfaf5;
  --oh123-stone: #e5e4dc;
  --oh123-mist: #e8ece7;
  --oh123-espresso: #2c2016;
  --oh123-espresso-deep: #241910;
  --oh123-ink: #514a43;
  --oh123-muted: #756e66;
  --oh123-brass: #8c642d;
  --oh123-brass-hover: #7a5423;
  --oh123-forest: #405c51;
  --oh123-line: #d4cfc4;
  --oh123-white: #fff;
  --oh123-shadow: 0 24px 70px rgb(44 32 22 / 0.14);
  --oh123-display: "Newsreader", Georgia, serif;
  --oh123-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --oh123-ease-out: cubic-bezier(.23, 1, .32, 1);
  --oh123-ease-in-out: cubic-bezier(.77, 0, .175, 1);
  --oh123-container: 1240px;
  --oh123-reading: 760px;
  --oh123-gutter: clamp(24px, 4vw, 72px);
}

html { scroll-behavior: smooth; }
body.oh123-site {
  background: var(--oh123-paper);
  color: var(--oh123-ink);
  font-family: var(--oh123-sans);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.72;
  text-rendering: optimizeLegibility;
}
.oh123-site *, .oh123-site *::before, .oh123-site *::after { box-sizing: border-box; }
.oh123-site img { display: block; max-width: 100%; height: auto; }
.oh123-site :where(h1, h2, h3) {
  color: var(--oh123-espresso);
  font-family: var(--oh123-display);
  font-weight: 500;
  text-wrap: balance;
}
.oh123-site h1 { font-size: clamp(54px, 6.6vw, 112px); line-height: .94; letter-spacing: -.035em; }
.oh123-site h2 { font-size: clamp(40px, 4.4vw, 72px); line-height: 1.02; letter-spacing: -.025em; }
.oh123-site h3 { font-size: clamp(26px, 2.3vw, 34px); line-height: 1.08; letter-spacing: -.015em; }
.oh123-site h4 { font-family: var(--oh123-sans); font-size: 18px; font-weight: 700; line-height: 1.3; }
.oh123-site :where(p, li) { max-width: 72ch; }
.oh123-site a { color: var(--oh123-brass-hover); text-underline-offset: .18em; }
.oh123-site :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #b68135;
  outline-offset: 4px;
}
.oh123-site ::selection { background: var(--oh123-brass); color: var(--oh123-white); }

/* Impreza canvas integration */
.oh123-site .l-main { background: var(--oh123-paper); }
.oh123-site .l-main .l-section.height_auto > .l-section-h,
.oh123-site .l-main .l-section.height_small > .l-section-h,
.oh123-site .l-main .l-section.height_medium > .l-section-h,
.oh123-site .l-main .l-section.height_large > .l-section-h,
.oh123-site .l-main .l-section.height_huge > .l-section-h { padding-top: 0; padding-bottom: 0; }
.oh123-site .oh123-section {
  padding: clamp(72px, 8vw, 124px) var(--oh123-gutter);
}
.oh123-site .oh123-section > .l-section-h,
.oh123-site .oh123-section > .wpb_row,
.oh123-site .oh123-section > .vc_row { max-width: var(--oh123-container); margin-inline: auto; }
.oh123-site .oh123-section--stone { background: var(--oh123-stone); }
.oh123-site .oh123-section--mist { background: var(--oh123-mist); }
.oh123-site .oh123-section--paper-bright { background: var(--oh123-paper-bright); }
.oh123-site .oh123-section--dark { background: var(--oh123-espresso-deep); color: #eee9df; }
.oh123-site .oh123-section--narrow { padding-block: clamp(48px, 6vw, 88px); }
.oh123-site .oh123-reading-column { max-width: var(--oh123-reading); margin-inline: auto; }

/* Header Builder */
.oh123-site .l-header {
  color: var(--oh123-white);
  transition: color 180ms var(--oh123-ease-out), background-color 180ms var(--oh123-ease-out), box-shadow 180ms var(--oh123-ease-out);
}
.oh123-site .l-header.is-scrolled,
.oh123-site.oh123-page-about .l-header,
.oh123-site.oh123-page-contact .l-header,
.oh123-site.oh123-page-privacy .l-header,
.oh123-site.oh123-page-terms .l-header,
.oh123-site.oh123-page-accessibility .l-header,
.oh123-site.oh123-page-mortgage-options .l-header {
  background: rgb(245 242 233 / .96);
  box-shadow: 0 12px 36px rgb(44 32 22 / .08);
  color: var(--oh123-espresso);
  backdrop-filter: blur(14px);
}
.oh123-site .l-header .w-nav-anchor { font-family: var(--oh123-sans); font-size: 13px; font-weight: 700; letter-spacing: .035em; }
.oh123-site .l-header .w-nav-list.level_2 {
  top: calc(100% - 1px);
  min-width: 290px;
  padding: 12px;
  background: var(--oh123-paper-bright);
  color: var(--oh123-espresso);
  border: 1px solid var(--oh123-line);
  box-shadow: var(--oh123-shadow);
}
.oh123-site .oh123-potential-cluster { position: relative; padding-bottom: 10px; margin-bottom: -10px; }
.oh123-site .oh123-potential-cluster > .w-nav-list.level_2::before {
  content: "";
  position: absolute;
  inset: -12px 0 auto;
  height: 12px;
}
.oh123-site .oh123-potential-cluster:hover > .w-nav-list.level_2,
.oh123-site .oh123-potential-cluster:focus-within > .w-nav-list.level_2 { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
.oh123-site .oh123-header-cta .w-btn { border-radius: 0; }
.oh123-site.admin-bar .l-header { top: 32px; }

/* Shared typography and actions */
.c-oh123-eyebrow, .c-oh123-tag, .c-oh123-footer__label {
  margin: 0 0 18px;
  color: var(--oh123-brass);
  font-family: var(--oh123-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}
.c-oh123-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 30px; }
.c-oh123-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 52px;
  padding: 14px 26px;
  background: var(--oh123-brass);
  border: 1px solid var(--oh123-brass);
  color: var(--oh123-white) !important;
  font-family: var(--oh123-sans);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 140ms var(--oh123-ease-out), background-color 180ms var(--oh123-ease-out), border-color 180ms var(--oh123-ease-out);
}
.c-oh123-button:hover { background: var(--oh123-brass-hover); border-color: var(--oh123-brass-hover); }
.c-oh123-button:active { transform: scale(.97); }
.c-oh123-button--light { background: var(--oh123-white); border-color: var(--oh123-white); color: var(--oh123-espresso) !important; }
.c-oh123-button--light:hover { background: var(--oh123-paper); border-color: var(--oh123-paper); }
.c-oh123-text-link, .c-oh123-inline-contact {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--oh123-espresso) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .075em;
  text-decoration: none;
  text-transform: uppercase;
}
.c-oh123-text-link::after { content: ""; width: 32px; border-top: 1px solid var(--oh123-brass); transition: width 180ms var(--oh123-ease-out); }
.c-oh123-text-link:hover::after { width: 50px; }
.c-oh123-text-link--light, .c-oh123-inline-contact { color: var(--oh123-white) !important; }

/* Hero */
.c-oh123-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-height: min(920px, 96svh);
  overflow: clip;
  background: var(--oh123-espresso-deep);
  color: var(--oh123-white);
}
.c-oh123-hero__image, .c-oh123-hero__scrim, .c-oh123-hero__graphic { position: absolute; inset: 0; width: 100%; height: 100%; }
.c-oh123-hero__image { z-index: -3; object-fit: cover; object-position: center; }
.c-oh123-hero__scrim { z-index: -2; background: linear-gradient(90deg, rgb(24 17 12 / .82) 0%, rgb(24 17 12 / .51) 46%, rgb(24 17 12 / .12) 100%), linear-gradient(0deg, rgb(24 17 12 / .56), transparent 50%); }
.c-oh123-hero__graphic { z-index: -3; display: grid; place-items: center; background: linear-gradient(135deg, #e8ece7 0 54%, #d4cfc4 54% 54.4%, #f5f2e9 54.4%); }
.c-oh123-hero__graphic img { width: min(48vw, 560px); opacity: .18; filter: sepia(.25); }
.c-oh123-hero__graphic span { position: absolute; color: var(--oh123-brass); font-family: var(--oh123-display); font-size: clamp(110px, 24vw, 340px); opacity: .11; }
.c-oh123-hero__copy { width: min(980px, 100%); padding: clamp(150px, 19vh, 230px) var(--oh123-gutter) clamp(86px, 10vh, 124px); }
.c-oh123-hero h1 { max-width: 880px; margin: 0; color: var(--oh123-white); }
.c-oh123-hero__lead { max-width: 650px; margin: 28px 0 0; color: rgb(255 255 255 / .86); font-size: clamp(18px, 1.55vw, 22px); }
.c-oh123-hero .c-oh123-eyebrow { color: #d7b47d; }
.c-oh123-hero--calm { min-height: 690px; background: var(--oh123-paper); color: var(--oh123-ink); }
.c-oh123-hero--calm .c-oh123-hero__scrim { background: linear-gradient(90deg, rgb(245 242 233 / .98) 0 47%, rgb(245 242 233 / .66) 72%, rgb(245 242 233 / .22)); }
.c-oh123-hero--calm h1 { color: var(--oh123-espresso); }
.c-oh123-hero--calm .c-oh123-hero__lead { color: var(--oh123-ink); }
.c-oh123-hero--calm .c-oh123-button--light { background: var(--oh123-brass); border-color: var(--oh123-brass); color: var(--oh123-white) !important; }
.c-oh123-hero--calm .c-oh123-text-link--light { color: var(--oh123-espresso) !important; }
.c-oh123-hero--compact { min-height: 660px; }
.c-oh123-hero--plan .c-oh123-hero__image { object-position: 55% 50%; }
.c-oh123-measure { position: absolute; right: var(--oh123-gutter); bottom: 36px; display: flex; align-items: center; gap: 12px; color: rgb(255 255 255 / .68); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.c-oh123-measure i { width: 94px; border-top: 1px solid var(--oh123-brass); }
.c-oh123-hero--calm .c-oh123-measure { color: var(--oh123-muted); }

/* Editorial modules */
.c-oh123-intro { max-width: 860px; }
.c-oh123-intro h2 { margin: 0 0 24px; }
.c-oh123-intro > p:last-child { margin: 0; font-size: clamp(17px, 1.5vw, 21px); }
.c-oh123-visual { display: grid; grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr); align-items: center; gap: clamp(48px, 7vw, 112px); max-width: var(--oh123-container); margin-inline: auto; }
.c-oh123-visual--reverse .c-oh123-visual__copy { order: 2; }
.c-oh123-figure { position: relative; margin: 0; }
.c-oh123-figure::before { content: ""; position: absolute; inset: 20px -20px -20px 20px; z-index: 0; border: 1px solid var(--oh123-brass); opacity: .6; }
.c-oh123-figure__frame { position: relative; z-index: 1; overflow: hidden; background: var(--oh123-stone); box-shadow: var(--oh123-shadow); }
.c-oh123-figure__frame img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform 700ms var(--oh123-ease-out); }
.c-oh123-figure:hover img { transform: scale(1.018); }
.c-oh123-figure figcaption { position: relative; z-index: 2; margin: 18px 0 0 38px; max-width: 62ch; color: var(--oh123-muted); font-size: 12px; font-weight: 600; letter-spacing: .025em; line-height: 1.55; }

/* Method, timeline, cards */
.c-oh123-method { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: clamp(54px, 8vw, 120px); max-width: var(--oh123-container); margin-inline: auto; }
.c-oh123-method__intro { position: sticky; top: 140px; align-self: start; }
.c-oh123-method__axis { display: flex; align-items: center; gap: 14px; margin-top: 40px; color: var(--oh123-muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.c-oh123-method__axis i { flex: 1; border-top: 1px solid var(--oh123-brass); }
.c-oh123-steps, .c-oh123-timeline__list { counter-reset: oh123-step; }
.c-oh123-step { counter-increment: oh123-step; display: grid; grid-template-columns: 70px 1fr; gap: 26px; padding: 36px 0; border-top: 1px solid var(--oh123-line); }
.c-oh123-step:last-child { border-bottom: 1px solid var(--oh123-line); }
.c-oh123-step__number { color: var(--oh123-brass); font-family: var(--oh123-display); font-size: 34px; line-height: 1; }
.c-oh123-step h3 { margin: 0 0 12px; }
.c-oh123-step p { margin: 0; }
.c-oh123-step small { display: block; margin-top: 14px; color: var(--oh123-muted); font-size: 12px; line-height: 1.55; }
.c-oh123-cards { display: grid; grid-template-columns: repeat(var(--oh123-columns, 3), minmax(0, 1fr)); gap: 1px; background: var(--oh123-line); border: 1px solid var(--oh123-line); }
.c-oh123-card { position: relative; min-height: 310px; padding: 34px; background: var(--oh123-paper-bright); }
.c-oh123-card:nth-child(even) { background: var(--oh123-paper); }
.c-oh123-card__number { position: absolute; top: 20px; right: 22px; color: var(--oh123-line); font-family: var(--oh123-display); font-size: 48px; }
.c-oh123-icon { display: inline-grid; place-items: center; width: 52px; height: 52px; margin-bottom: 36px; background: var(--oh123-mist); border: 1px solid rgb(64 92 81 / .24); color: var(--oh123-forest); clip-path: polygon(0 0, 80% 0, 100% 20%, 100% 100%, 0 100%); }
.c-oh123-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.c-oh123-card h3 { margin: 0 0 14px; }
.c-oh123-card p { margin: 0 0 24px; }
.c-oh123-timeline { max-width: var(--oh123-container); margin-inline: auto; }
.c-oh123-timeline .c-oh123-intro { margin-bottom: 52px; }
.c-oh123-timeline__list { max-width: 900px; margin-left: auto; }

/* Boundary, FAQ, CTA */
.c-oh123-boundary { position: relative; max-width: 980px; margin-inline: auto; padding: clamp(42px, 6vw, 80px); background: var(--oh123-espresso-deep); color: #eee9df; box-shadow: var(--oh123-shadow); }
.c-oh123-boundary::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgb(140 100 45 / .58); pointer-events: none; }
.c-oh123-boundary h2 { color: var(--oh123-white); }
.c-oh123-boundary__marker { display: flex; align-items: center; gap: 14px; color: #d7b47d; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.c-oh123-boundary__marker .c-oh123-icon { width: 38px; height: 38px; margin: 0; background: transparent; border-color: #d7b47d; color: #d7b47d; }
.c-oh123-boundary__copy { position: relative; z-index: 1; columns: 2; column-gap: 60px; }
.c-oh123-faq { max-width: 980px; margin-inline: auto; }
.c-oh123-faq .c-oh123-intro { margin-bottom: 46px; }
.c-oh123-faq details { border-top: 1px solid var(--oh123-line); }
.c-oh123-faq details:last-child { border-bottom: 1px solid var(--oh123-line); }
.c-oh123-faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 24px 0; color: var(--oh123-espresso); font-family: var(--oh123-display); font-size: 25px; cursor: pointer; list-style: none; }
.c-oh123-faq summary::-webkit-details-marker { display: none; }
.c-oh123-faq summary span { color: var(--oh123-brass); font-family: var(--oh123-sans); transition: transform 180ms var(--oh123-ease-out); }
.c-oh123-faq details[open] summary span { transform: rotate(45deg); }
.c-oh123-faq details > div { padding: 0 0 26px; }
.c-oh123-cta { position: relative; overflow: hidden; padding: clamp(70px, 9vw, 130px) var(--oh123-gutter); background: var(--oh123-espresso-deep); color: #eee9df; }
.c-oh123-cta > * { position: relative; z-index: 1; max-width: 880px; margin-right: auto; margin-left: auto; }
.c-oh123-cta h2 { margin: 0; color: var(--oh123-white); font-size: clamp(46px, 6vw, 88px); }
.c-oh123-cta > p:not(.c-oh123-eyebrow) { margin-top: 24px; font-size: 19px; }
.c-oh123-cta__frame { position: absolute; inset: 20px; max-width: none; border: 1px solid rgb(140 100 45 / .55); }
.c-oh123-inline-contact .c-oh123-icon { width: 34px; height: 34px; margin: 0; background: transparent; border-color: rgb(255 255 255 / .35); color: var(--oh123-white); }

/* Contact and Forminator */
.c-oh123-form-fallback,
.oh123-site .forminator-ui.forminator-custom-form { max-width: 860px; margin-inline: auto; padding: clamp(32px, 5vw, 64px); background: var(--oh123-paper-bright); border: 1px solid var(--oh123-line); box-shadow: 0 18px 52px rgb(44 32 22 / .09); }
.c-oh123-form-notice { padding: 14px 18px; background: #fff5d9; border-left: 4px solid var(--oh123-brass); color: var(--oh123-espresso); font-size: 13px; }
.oh123-site .forminator-ui.forminator-custom-form .forminator-label { color: var(--oh123-espresso); font-size: 13px; font-weight: 800; letter-spacing: .025em; }
.oh123-site .forminator-ui.forminator-custom-form :where(.forminator-input, .forminator-textarea, .forminator-select--field) { min-height: 52px; padding: 12px 14px; background: var(--oh123-white); border: 1px solid #bdb7ac; border-radius: 0; color: var(--oh123-espresso); font-family: var(--oh123-sans); box-shadow: none; }
.oh123-site .forminator-ui.forminator-custom-form :where(.forminator-input, .forminator-textarea, .forminator-select--field):focus { border-color: var(--oh123-brass); box-shadow: 0 0 0 3px rgb(140 100 45 / .16); outline: 0; }
.oh123-site .forminator-ui.forminator-custom-form .forminator-textarea { min-height: 156px; resize: vertical; }
.oh123-site .forminator-ui.forminator-custom-form :where(.forminator-description, .forminator-consent__label p) { color: var(--oh123-muted); font-size: 13px; line-height: 1.65; }
.oh123-site .forminator-ui.forminator-custom-form :where(.forminator-radio, .forminator-checkbox) { color: var(--oh123-espresso); font-family: var(--oh123-sans); }
.oh123-site .forminator-ui.forminator-custom-form :where(.forminator-radio-bullet, .forminator-checkbox-box) { border-color: #9b958b; border-radius: 0; }
.oh123-site .forminator-ui.forminator-custom-form :where(.forminator-radio input:checked + .forminator-radio-bullet, .forminator-checkbox input:checked + .forminator-checkbox-box) { border-color: var(--oh123-brass); background: var(--oh123-brass); }
.oh123-site .forminator-ui.forminator-custom-form .forminator-button-submit { min-height: 52px; padding: 14px 26px; background: var(--oh123-brass); border: 1px solid var(--oh123-brass); border-radius: 0; color: var(--oh123-white); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; transition: transform 160ms var(--oh123-ease-out), background-color 180ms var(--oh123-ease-out); }
.oh123-site .forminator-ui.forminator-custom-form .forminator-button-submit:hover { background: var(--oh123-espresso); border-color: var(--oh123-espresso); }
.oh123-site .forminator-ui.forminator-custom-form .forminator-button-submit:active { transform: scale(.97); }
.oh123-site .forminator-ui.forminator-custom-form :where(.forminator-error-message, .forminator-response-message.forminator-error) { color: #8c2b21; font-size: 13px; }
.oh123-site .forminator-ui.forminator-custom-form .forminator-response-message.forminator-success { padding: 18px; background: #eef7f1; border-left: 4px solid #285c41; color: #285c41; }

/* Footer reusable block */
.c-oh123-footer { padding: 80px var(--oh123-gutter) 32px; background: #1f1711; color: #e7e0d6; }
.c-oh123-footer a { display: block; width: fit-content; margin: 7px 0; color: #e7e0d6; text-decoration: none; }
.c-oh123-footer a:hover { color: #d7b47d; }
.c-oh123-footer__grid { display: grid; grid-template-columns: 1.1fr .85fr 1.05fr; gap: clamp(40px, 7vw, 100px); max-width: var(--oh123-container); margin-inline: auto; }
.c-oh123-footer__logo { width: min(310px, 100%); filter: brightness(0) invert(1); }
.c-oh123-footer__label { color: #d7b47d; }
.c-oh123-footer__bottom { display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 30px; max-width: var(--oh123-container); margin: 64px auto 0; padding-top: 26px; border-top: 1px solid rgb(255 255 255 / .16); font-size: 11px; }
.c-oh123-footer__bottom > div { display: flex; gap: 10px; }
.c-oh123-footer__mark { width: 42px; height: 42px; object-fit: contain; filter: brightness(0) invert(1); }
.c-oh123-footer__bottom nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 18px; }

/* Utility and 404 */
.oh123-site .oh123-utility { max-width: 880px; margin-inline: auto; }
.oh123-site .oh123-utility :where(h2, h3) { margin-top: 2em; }
.oh123-site .oh123-utility a[target="_blank"]::after { content: " ↗"; }
.c-oh123-404 { min-height: 70svh; display: grid; place-items: center; padding: 140px var(--oh123-gutter) 80px; background: var(--oh123-paper); text-align: left; }
.c-oh123-404__inner { position: relative; width: min(820px, 100%); padding: clamp(36px, 7vw, 90px); border: 1px solid var(--oh123-brass); }
.c-oh123-404__number { color: var(--oh123-line); font-family: var(--oh123-display); font-size: clamp(100px, 22vw, 240px); line-height: .7; }

@media (max-width: 992px) {
  .c-oh123-visual, .c-oh123-method { grid-template-columns: 1fr; }
  .c-oh123-visual--reverse .c-oh123-visual__copy { order: initial; }
  .c-oh123-method__intro { position: static; }
  .c-oh123-cards { grid-template-columns: repeat(min(2, var(--oh123-columns, 2)), minmax(0, 1fr)); }
  .c-oh123-footer__grid { grid-template-columns: 1fr 1fr; }
  .c-oh123-footer__grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  body.oh123-site { font-size: 16px; }
  .oh123-site h1 { font-size: clamp(45px, 14vw, 64px); }
  .oh123-site h2 { font-size: clamp(37px, 10vw, 48px); }
  .oh123-site .oh123-section { padding: 72px 20px; }
  .oh123-site.admin-bar .l-header { top: 46px; }
  .c-oh123-hero { min-height: 780px; }
  .c-oh123-hero--calm, .c-oh123-hero--compact { min-height: 680px; }
  .c-oh123-hero__copy { padding: 150px 20px 96px; }
  .c-oh123-hero__scrim { background: linear-gradient(0deg, rgb(24 17 12 / .88) 0 24%, rgb(24 17 12 / .42) 72%, rgb(24 17 12 / .34)); }
  .c-oh123-hero--calm .c-oh123-hero__scrim { background: linear-gradient(0deg, rgb(245 242 233 / .98) 0 50%, rgb(245 242 233 / .72)); }
  .c-oh123-measure { right: 20px; bottom: 28px; }
  .c-oh123-visual { gap: 42px; }
  .c-oh123-visual .c-oh123-figure { margin-right: 12px; }
  .c-oh123-figure::before { inset: 12px -12px -12px 12px; }
  .c-oh123-figure__frame img { aspect-ratio: 4 / 3; }
  .c-oh123-figure figcaption { margin-left: 18px; }
  .c-oh123-cards { grid-template-columns: 1fr; }
  .c-oh123-card { min-height: 0; padding: 28px; }
  .c-oh123-icon { margin-bottom: 24px; }
  .c-oh123-step { grid-template-columns: 48px 1fr; gap: 18px; }
  .c-oh123-boundary { padding: 52px 30px; }
  .c-oh123-boundary__copy { columns: 1; }
  .c-oh123-actions { align-items: stretch; }
  .c-oh123-actions .c-oh123-button { width: 100%; }
  .c-oh123-footer { padding: 64px 20px 28px; }
  .c-oh123-footer__grid, .c-oh123-footer__bottom { grid-template-columns: 1fr; }
  .c-oh123-footer__grid > :first-child { grid-column: auto; }
  .c-oh123-footer__bottom { align-items: start; }
  .c-oh123-footer__bottom nav { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .oh123-site *, .oh123-site *::before, .oh123-site *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media print {
  .oh123-site .l-header, .c-oh123-actions, .c-oh123-footer { display: none !important; }
  .c-oh123-hero { min-height: auto; background: none; color: #000; }
  .c-oh123-hero__image, .c-oh123-hero__scrim, .c-oh123-measure { display: none; }
  .c-oh123-hero h1 { color: #000; }
  .c-oh123-hero__copy { padding: 0; }
}
