/* Cinematic field journal: a 12-column editorial system over editable blocks. */
:root {
  --journal-gutter: clamp(1.25rem, 4.2vw, 5rem);
  --journal-line: rgba(23, 24, 21, .22);
  --journal-light-line: rgba(250, 248, 243, .24);
  --motion-fast: 160ms;
  --motion-ui: 240ms;
  --motion-reveal: 600ms;
  --motion-cinematic: 1000ms;
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
}

html { scroll-behavior: smooth; }
body { overflow-x: clip; background: var(--color-paper); }
h1, h2, h3, .footer-statement { font-family: "Iowan Old Style", "Baskerville", Georgia, serif; font-weight: 400; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: var(--color-lehua); color: var(--color-paper); }

.site-container { width: 100%; max-width: none; padding-inline: var(--journal-gutter); }
.section { padding-block: clamp(5.5rem, 11vw, 11rem); }
.eyebrow { color: var(--color-forest); font-size: .68rem; font-weight: 650; letter-spacing: .18em; }
.eyebrow::before { content: ""; display: inline-block; width: .36rem; height: .36rem; margin-right: .72rem; border-radius: 50%; background: var(--color-lehua); vertical-align: .11em; }

/* The wordmark stays intact while the navigation becomes part of the spread. */
.site-header { background: rgba(250, 248, 243, .96); border-bottom: 1px solid var(--journal-line); backdrop-filter: blur(16px); }
.site-header__inner { width: 100%; max-width: none; padding: .95rem var(--journal-gutter); gap: clamp(1rem, 3vw, 4rem); }
.is-scrolled .site-header__inner { padding-block: .65rem; }
.brand-name { font-size: clamp(2.3rem, 3.1vw, 3.25rem); }
.brand-descriptor { font-size: .49rem; letter-spacing: .29em; margin-top: .45rem; }
.nav-list { gap: clamp(.65rem, 1.6vw, 1.9rem); }
.primary-nav a { font-size: .7rem; letter-spacing: .025em; }
.nav-list a { position: relative; }
.nav-list a::after { content: ""; position: absolute; inset-inline: 0; bottom: .52rem; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform var(--motion-ui) var(--motion-ease); }
.nav-list a:hover::after, .nav-list a:focus-visible::after, .nav-list .current-menu-item > a::after { transform: scaleX(1); }
.primary-nav .header-cta { background: transparent; color: var(--color-ink); border: 0; border-bottom: 1px solid currentColor; padding: .55rem 0; min-height: 2.5rem; border-radius: 0; }
.primary-nav .header-cta:hover { color: var(--color-lehua); background: transparent; transform: none; }

/* Home: image, statement and supporting copy occupy different grid spans. */
.home-hero { width: 100%; max-width: none; min-height: min(840px, calc(100svh - 80px)); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0; padding: clamp(2rem, 5vw, 5rem) var(--journal-gutter) 1.25rem; align-items: stretch; }
.home-hero > .hero-text { grid-column: 1 / 8; grid-row: 1; position: relative; z-index: 2; align-items: flex-start; justify-content: center; padding: 2rem 0 4rem; }
.home-hero .hero-text .eyebrow { margin: 0 0 clamp(2rem, 5vw, 5rem); }
.home-hero .hero-text .eyebrow::before { display: none; }
.home-hero h1 { font-size: clamp(5.2rem, 9vw, 10.5rem); line-height: .85; letter-spacing: -.076em; max-width: 8.5ch; margin-bottom: clamp(2rem, 5vw, 5rem); }
.home-hero h1 em { color: var(--color-forest); font-weight: 400; }
.hero-text > p:not(.eyebrow) { max-width: 39rem; font-size: clamp(.88rem, 1.05vw, 1.02rem); line-height: 1.75; color: #4b514a; }
.hero-text > p:not(.eyebrow):first-of-type { font-family: "Iowan Old Style", "Baskerville", Georgia, serif; font-size: clamp(1.1rem, 1.5vw, 1.4rem); line-height: 1.45; color: var(--color-ink); }
.home-hero .wp-block-buttons { margin-top: 1.65rem; }
.home-hero .wp-block-button__link { background: transparent; color: var(--color-ink); border-bottom: 1px solid currentColor; padding: .7rem 0; min-height: 44px; }
.home-hero .wp-block-button__link:hover, .home-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: transparent; color: var(--color-lehua); }
.home-hero .wp-block-button.is-style-outline .wp-block-button__link { border: 0; border-bottom: 1px solid currentColor; }
.home-hero > .hero-visual { grid-column: 8 / 13; grid-row: 1; min-height: 0; height: clamp(580px, 68svh, 820px); align-self: center; margin: 0 0 0 -3vw; clip-path: inset(0 0 0 0); }
.hero-visual img { filter: saturate(.72) contrast(1.04); object-position: 43% center; }
.hero-visual::after { background: linear-gradient(180deg, transparent 55%, rgba(18, 20, 17, .55)); }
.hero-visual figcaption { left: clamp(1rem, 2vw, 2rem); right: clamp(1rem, 2vw, 2rem); bottom: 1.5rem; font-size: .59rem; }
.home-hero > .hero-footnote { grid-column: 1 / -1; grid-row: 2; margin-top: 1.5rem; border-top: 1px solid var(--journal-line); padding-top: 1rem; }

/* Quiet passage followed by a cinematic statement. */
.central-section { background: var(--color-paper); border: 0; }
.central-section .editorial-split { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0; }
.central-section .editorial-split > :first-child { grid-column: 1 / 7; }
.central-section .editorial-split > :last-child { grid-column: 8 / 13; padding-top: clamp(4rem, 12vw, 12rem); }
.central-section h2 { max-width: 10ch; font-size: clamp(4.6rem, 8vw, 9rem); line-height: .91; letter-spacing: -.06em; }
.central-section .editorial-copy { font-size: clamp(.93rem, 1.1vw, 1.08rem); line-height: 1.9; }
.central-section .editorial-copy p:last-child { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--journal-line); }
.philosophy { min-height: min(1050px, 100svh); display: flex; align-items: center; background: #20241f; isolation: isolate; }
.philosophy::before { content: ""; position: absolute; z-index: -2; inset: 0 0 0 48%; background: url('../brand-generated/ohia-macro-bark.webp') center / cover no-repeat; opacity: .74; }
.philosophy::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #20241f 0%, #20241f 39%, rgba(32,36,31,.7) 60%, rgba(32,36,31,.28) 100%); }
.philosophy .editorial-split { width: 100%; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0; align-items: end; }
.philosophy .editorial-split > :first-child { grid-column: 1 / 10; }
.philosophy .editorial-split > :last-child { grid-column: 8 / 13; margin-top: 5rem; padding: 2rem 0 0; border-top: 1px solid var(--journal-light-line); }
.philosophy .pullquote { max-width: 15ch; font-size: clamp(4.6rem, 8.4vw, 10rem); line-height: .88; letter-spacing: -.065em; }
.philosophy .pullquote em { color: #e1c4aa; }
.philosophy .editorial-copy { color: #eceae2; font-size: .97rem; }

/* Services: an editorial index, with a nonessential live preview. */
.home .service-grid, .page .service-grid { display: block; border-top: 1px solid var(--journal-line); }
.service-grid__item { position: relative; display: grid; grid-template-columns: minmax(2.5rem, .7fr) minmax(0, 5fr); gap: clamp(1rem, 2vw, 2.5rem); min-height: 0; padding: clamp(1.2rem, 2.8vw, 2.4rem) 0; border: 0; border-bottom: 1px solid var(--journal-line); transition: padding var(--motion-ui) var(--motion-ease), color var(--motion-ui) ease; }
.service-grid__item:nth-child(odd) { border-right: 0; }
.service-grid__item:hover, .service-grid__item:focus-within { background: transparent; padding-left: .8rem; }
.service-grid__item .eyebrow { grid-column: 1; grid-row: 1 / 3; margin: .45rem 0 0; font-size: .7rem; color: var(--color-lehua); }
.service-grid__item .eyebrow::before { display: none; }
.service-grid__item h3 { grid-column: 2; margin: 0; padding-right: 2rem; font-size: clamp(2rem, 3.3vw, 4rem); line-height: 1.05; letter-spacing: -.045em; }
.service-grid__item h3 a { display: block; text-decoration: none; }
.service-grid__item h3 a::after { top: clamp(1.3rem, 3vw, 2.6rem); right: .1rem; font-size: 1.3rem; }
.service-grid__item > p:not(.eyebrow) { grid-column: 2; margin: 0; max-width: 48rem; font-size: .83rem; line-height: 1.65; }
.service-grid__preview-toggle { display: none; }
.service-index-section { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .65fr); gap: 0 clamp(2rem, 5vw, 6rem); background: var(--color-bone); }
.service-index-section .section-heading { grid-column: 1 / -1; }
.service-index-section .service-grid { grid-column: 1; }
.service-preview { grid-column: 2; align-self: start; position: sticky; top: 8rem; min-height: min(65svh, 42rem); display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.5rem, 3vw, 3rem); color: var(--color-paper); background-color: #29382d; background-position: center; background-size: cover; overflow: hidden; }
.service-preview__number { position: absolute; top: -.1em; right: -.04em; color: rgba(255,255,255,.27); font: 400 clamp(9rem, 20vw, 22rem)/1 "Iowan Old Style", Georgia, serif; letter-spacing: -.09em; }
.service-preview__title { position: relative; margin-bottom: 1rem; max-width: 11ch; font-size: clamp(2.2rem, 3vw, 4rem); line-height: .98; }
.service-preview__copy { position: relative; max-width: 28rem; margin: 0; font-size: .85rem; line-height: 1.7; }

/* Ecology uses connected positions rather than six cards. Explanations stay visible. */
.ecosystem-section { background: #eaede6; overflow: hidden; }
.ecosystem-section .section-heading { align-items: end; }
.ecosystem-section .section-heading h2 { max-width: 14ch; font-size: clamp(3.4rem, 6.6vw, 7.2rem); line-height: .95; }
.ecosystem { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 3rem) 0; padding-block: clamp(3rem, 7vw, 7rem); isolation: isolate; }
.ecosystem::before { content: ""; position: absolute; z-index: -1; inset: 2rem 3% 0; background: url('../graphics/ecosystem-lines.svg') center / 100% 100% no-repeat; opacity: .65; pointer-events: none; }
.ecosystem__item { padding: 1rem 1rem 1.1rem 1.25rem; border: 0; border-left: 1px solid #8d9b8c; background: rgba(234,237,230,.82); transition: transform var(--motion-ui) var(--motion-ease), border-color var(--motion-ui) ease; }
.ecosystem__item:hover, .ecosystem__item:focus-within { transform: translateY(-.35rem); border-color: var(--color-lehua); }
.ecosystem__item:nth-child(1) { grid-column: 1 / 5; }
.ecosystem__item:nth-child(2) { grid-column: 7 / 12; margin-top: 4rem; }
.ecosystem__item:nth-child(3) { grid-column: 3 / 8; margin-top: -1rem; }
.ecosystem__item:nth-child(4) { grid-column: 9 / 13; margin-top: 4rem; }
.ecosystem__item:nth-child(5) { grid-column: 1 / 6; margin-top: 1rem; }
.ecosystem__item:nth-child(6) { grid-column: 7 / 12; margin-top: 3rem; }
.ecosystem__item h3 { font-size: clamp(1.8rem, 2.7vw, 3rem); line-height: 1; }
.ecosystem__item p { max-width: 31rem; font-size: .82rem; line-height: 1.6; }
.ecosystem__number { color: var(--color-lehua); margin: 0 0 .8rem; font-size: .65rem; }

/* Outcome words become the graphic, with the existing specifics beside them. */
.home .outcomes { display: block; border-top: 1px solid var(--journal-line); }
.home .outcome { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(16rem, .5fr); gap: 2rem; align-items: end; padding: clamp(1.5rem, 3.5vw, 3.5rem) 0; border: 0; border-bottom: 1px solid var(--journal-line); }
.home .outcome h3 { max-width: 18ch; margin: 0; font-size: clamp(3.5rem, 6.8vw, 8rem); line-height: .88; letter-spacing: -.055em; }
.home .outcome p { max-width: 22rem; margin: 0; font-size: .8rem; line-height: 1.75; }
.home .outcome:nth-child(2) h3 { margin-left: 7vw; }
.home .outcome:nth-child(3) h3 { max-width: 15ch; }
.home .outcome:nth-child(4) h3 { margin-left: 3vw; }

.home-insights { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0; background: var(--color-paper); }
.home-insights__heading { grid-column: 1 / 7; }
.home-insights__heading h2 { max-width: 13ch; font-size: clamp(3.5rem, 6vw, 7rem); line-height: .94; }
.home-insights__list { grid-column: 8 / 13; border-top: 1px solid var(--journal-line); }
.home-insights__list article { padding: 1.8rem 0; border-bottom: 1px solid var(--journal-line); }
.home-insights__list h3 { font-size: clamp(1.8rem, 2.6vw, 3rem); }
.home-insights__list h3 a { text-decoration: none; }
.home-insights__list h3 a:hover { color: var(--color-lehua); }
.home-insights__list article > p:last-child { font-size: .85rem; }

.cta-band { color: var(--color-paper); background: #272e28; border: 0; }
.cta-band .eyebrow { color: var(--color-sand); }
.cta-band .editorial-split { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0; align-items: end; }
.cta-band .editorial-split > :first-child { grid-column: 1 / 9; }
.cta-band .editorial-split > :last-child { grid-column: 9 / 13; }
.cta-band h2 { max-width: 12ch; font-size: clamp(4.6rem, 8.6vw, 10.5rem); line-height: .89; letter-spacing: -.065em; }
.cta-band .editorial-copy { color: #e7e8df; border-top: 1px solid var(--journal-light-line); padding-top: 1.4rem; }
.cta-band .editorial-copy strong { color: var(--color-paper); }
.cta-band .wp-block-button__link { background: transparent; border: 0; border-bottom: 1px solid currentColor; padding: .7rem 0; }
.cta-band .wp-block-button__link:hover { color: #e2beb1; background: transparent; }

/* Inner pages get a monograph opening and varied, unboxed chapters. */
.breadcrumbs { padding-top: 1.4rem; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.page-hero { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; padding-block: clamp(4.5rem, 9vw, 10rem) clamp(4rem, 8vw, 8rem); border: 0; }
.page-hero > .eyebrow { grid-column: 1 / -1; }
.page-hero h1 { grid-column: 1 / 12; max-width: 20ch; font-size: clamp(4.8rem, 8vw, 9.2rem); line-height: .91; letter-spacing: -.065em; margin-block: 2rem clamp(2.5rem, 6vw, 6rem); }
.page-hero > .lead, .page-hero > .hero-intro { grid-column: 7 / 12; max-width: 42rem; font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.65; }
.page-hero .hero-intro p { margin-bottom: 1rem; }
.page-child .page-hero { background: #e5e9e1; }
.page-child .page-hero h1 { max-width: 12ch; }
.content-section { border: 0; border-top: 1px solid var(--journal-line); background: transparent !important; }
.content-section .editorial-split { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0; }
.content-section .editorial-split > :first-child { grid-column: 1 / 7; }
.content-section .editorial-split > :last-child { grid-column: 8 / 13; padding-top: clamp(3rem, 8vw, 8rem); }
.content-section:nth-of-type(3n) .editorial-split > :first-child { grid-column: 2 / 8; }
.content-section:nth-of-type(3n) .editorial-split > :last-child { grid-column: 9 / 13; }
.content-section h2 { max-width: 15ch; font-size: clamp(3.4rem, 5.4vw, 6.2rem); line-height: .98; letter-spacing: -.05em; }
.content-section .editorial-copy { font-size: .94rem; line-height: 1.82; }
.content-section .focus-list { padding-top: 0; }
.process-step { grid-template-columns: minmax(3rem, .12fr) 1fr; gap: 2rem; padding-block: clamp(1.5rem, 3.5vw, 3.5rem); }
.process-step__number { font-size: clamp(2rem, 4vw, 4rem); }
.process-step h3 { font-size: clamp(2.5rem, 4vw, 4.7rem); }

.archive-intro h1 { max-width: 16ch; font-size: clamp(4.5rem, 8vw, 9rem); line-height: .91; letter-spacing: -.06em; }
.category-filters { border-color: var(--journal-line); }
.article-list article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .3fr); gap: 2rem; border-color: var(--journal-line); }
.article-list article h2 { max-width: 19ch; font-size: clamp(2.8rem, 5vw, 5.5rem); }
.single-article h1 { max-width: 17ch; font-size: clamp(4rem, 7vw, 8rem); }
.contact-section { grid-template-columns: minmax(0, 1fr) minmax(25rem, 1fr); border-top: 1px solid var(--journal-line); }
.contact-section h2 { font-size: clamp(3.5rem, 5.8vw, 6.6rem); line-height: .95; }
.contact-form { padding-top: 2rem; }
.contact-form input, .contact-form textarea, .contact-form select { border-width: 0 0 1px; border-color: var(--journal-line); padding-inline: 0; }
.contact-form input:focus-visible, .contact-form textarea:focus-visible, .contact-form select:focus-visible { outline-offset: 3px; }
.tools-card { background: transparent; border: 0; border-top: 1px solid var(--journal-line); border-bottom: 1px solid var(--journal-line); padding-inline: 0; }
.tools-card h2 { font-size: clamp(3rem, 5vw, 6rem); }

/* Approach reads as five chapters followed by a working sequence. */
.ohia-page-approach .page-hero { min-height: 82svh; color: var(--color-paper); background: #273a30; }
.ohia-page-approach .page-hero .eyebrow, .ohia-page-approach .page-hero .hero-intro { color: #e7e8dd; }
.ohia-page-approach .page-hero h1 { max-width: 13ch; }
.ohia-page-approach .page-hero > .eyebrow { grid-column: 1 / -1; grid-row: 3; margin-top: 1.5rem; }
.ohia-page-approach .page-hero > .hero-intro { grid-row: 4; }
.ohia-page-approach .content-section { min-height: 62svh; display: flex; align-items: center; }
.ohia-page-approach .content-section:nth-of-type(3) { background: #e5e9e1 !important; }
.ohia-page-approach .content-section:nth-of-type(4) { color: var(--color-paper); background: #252b26 !important; }
.ohia-page-approach .content-section:nth-of-type(4) .eyebrow { color: var(--color-sand); }
.ohia-page-approach .content-section:nth-of-type(4) .editorial-copy { color: #e7e9df; }
.ohia-page-approach .content-section:nth-of-type(5) { background: #eeeae0 !important; }
.ohia-page-approach .content-section:nth-of-type(6) { color: var(--color-paper); background: linear-gradient(90deg, #252b26 0%, #252b26 52%, rgba(37,43,38,.82)), url('../brand-generated/ohia-macro-bark.webp') right / auto 100% no-repeat !important; }
.ohia-page-approach .content-section:nth-of-type(6) .eyebrow { color: var(--color-sand); }
.ohia-page-approach .content-section:nth-of-type(6) .editorial-copy { color: #e7e9df; }
.ohia-page-approach main > section:has(.process-step) { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0; }
.ohia-page-approach main > section:has(.process-step) > .eyebrow { grid-column: 1 / -1; }
.ohia-page-approach main > section:has(.process-step) > h2 { grid-column: 1 / 5; grid-row: 1; align-self: start; font-size: clamp(4rem, 6vw, 7rem); line-height: .9; }
.ohia-page-approach main > section:has(.process-step) > .process-step { grid-column: 6 / 13; margin: 0; }
.ohia-page-approach main > section:has(.process-step) > .eyebrow { grid-column: 1 / 5; grid-row: 2; align-self: start; margin-top: 1rem; }
.ohia-page-approach main > section:has(.process-step) > .process-step:nth-child(3) { grid-row: 3; }
.ohia-page-approach main > section:has(.process-step) > .process-step:nth-child(4) { grid-row: 4; }
.ohia-page-approach main > section:has(.process-step) > .process-step:nth-child(5) { grid-row: 5; }
.ohia-page-approach main > section:has(.process-step) > .process-step:nth-child(6) { grid-row: 6; }
.ohia-page-approach main > section:has(.process-step) > .process-step:nth-child(7) { grid-row: 7; }
.ohia-page-approach .cta-band .editorial-split > :first-child > .eyebrow { margin-top: 1.5rem; }

/* Photos belong to the editorial section they illustrate. */
.field-image, .service-hero-image { margin: 0; min-width: 0; overflow: hidden; }
.field-image img, .service-hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ecosystem-section > .field-image { width: 100%; height: clamp(250px, 27vw, 520px); margin-top: clamp(2rem, 5vw, 5rem); }
.ecosystem-section > .field-image img { object-position: center 42%; }
.ohia-page-approach main > section:has(.process-step) > .field-image { grid-column: 1 / 5; grid-row: 3 / 8; align-self: stretch; min-height: 30rem; margin: 0 0 2rem; }
.ohia-page-who-we-serve .page-hero, .ohia-page-about .page-hero { position: relative; min-height: 75svh; }
.ohia-page-who-we-serve .page-hero > .field-image, .ohia-page-about .page-hero > .field-image { grid-column: 8 / 13; grid-row: 1 / 4; height: 100%; min-height: 32rem; }
.ohia-page-who-we-serve .page-hero > .eyebrow, .ohia-page-about .page-hero > .eyebrow { grid-column: 1 / 7; grid-row: 1; }
.ohia-page-who-we-serve .page-hero h1, .ohia-page-about .page-hero h1 { grid-column: 1 / 8; grid-row: 2; position: relative; z-index: 1; }
.ohia-page-who-we-serve .page-hero > .hero-intro, .ohia-page-about .page-hero > .hero-intro { grid-column: 1 / 7; grid-row: 3; margin-right: 2rem; }

/* Audience and About chapters vary scale and tone without inventing proof. */
.ohia-page-who-we-serve .content-section { min-height: 58svh; display: flex; align-items: center; }
.ohia-page-who-we-serve .content-section h2 { max-width: 15ch; font-size: clamp(4rem, 7vw, 8rem); }
.ohia-page-who-we-serve .content-section:nth-of-type(3) { color: var(--color-paper); background: #33483d !important; }
.ohia-page-who-we-serve .content-section:nth-of-type(3) .eyebrow { color: var(--color-sand); }
.ohia-page-who-we-serve .content-section:nth-of-type(3) .editorial-copy { color: #ebeee6; }
.ohia-page-who-we-serve .content-section:nth-of-type(5) { background: #e4e9e1 !important; }
.ohia-page-about .content-section:first-of-type { background: #e4e9e1 !important; }
.ohia-page-about .content-section:nth-of-type(3) { color: var(--color-paper); background: #252b26 !important; }
.ohia-page-about .content-section:nth-of-type(3) .eyebrow { color: var(--color-sand); }
.ohia-page-about .content-section:nth-of-type(3) .editorial-copy { color: #e7e9df; }

/* Each service opens with an editorial variation and an index numeral. */
.ohia-service-detail .page-hero { position: relative; min-height: 72svh; overflow: hidden; isolation: isolate; background: #e6e9e1; }
.ohia-service-detail .page-hero::after { content: var(--service-number, ""); position: absolute; z-index: -1; right: 1vw; top: -.25em; font: 400 clamp(17rem, 36vw, 39rem)/1 "Iowan Old Style", Georgia, serif; letter-spacing: -.1em; opacity: .085; }
.ohia-service-detail .page-hero h1 { max-width: 13ch; }
.ohia-service-detail .page-hero .hero-intro { max-width: 40rem; }
.ohia-service-detail .page-hero > .eyebrow { grid-column: 1 / 7; grid-row: 1; }
.ohia-service-detail .page-hero h1 { grid-column: 1 / 8; grid-row: 2; position: relative; z-index: 1; }
.ohia-service-detail .page-hero .hero-intro { grid-column: 1 / 7; grid-row: 3; padding-right: 2rem; }
.ohia-service-detail .page-hero > .service-hero-image { grid-column: 8 / 13; grid-row: 1 / 4; height: 100%; min-height: 33rem; }
.ohia-page-operational-assessment { --service-number: "01"; }
.ohia-page-systems-standards-sops { --service-number: "02"; }
.ohia-page-guest-experience { --service-number: "03"; }
.ohia-page-food-beverage-strategy { --service-number: "04"; }
.ohia-page-performance-improvement { --service-number: "05"; }
.ohia-page-task-force-leadership { --service-number: "06"; }
.ohia-page-leadership-development { --service-number: "07"; }
.ohia-page-openings-reopenings { --service-number: ""; }
.ohia-page-task-force-leadership .page-hero, .ohia-page-guest-experience .page-hero { color: var(--color-paper); background: #242d25; }
.ohia-page-task-force-leadership .page-hero .eyebrow, .ohia-page-guest-experience .page-hero .eyebrow { color: var(--color-sand); }
.ohia-page-task-force-leadership .page-hero .hero-intro, .ohia-page-guest-experience .page-hero .hero-intro { color: #e7e8de; }
.ohia-page-food-beverage-strategy .page-hero, .ohia-page-leadership-development .page-hero { background: #eee6d9; }
.ohia-page-openings-reopenings .page-hero, .ohia-page-systems-standards-sops .page-hero { color: var(--color-paper); background: #332b28; }
.ohia-page-openings-reopenings .page-hero .eyebrow, .ohia-page-systems-standards-sops .page-hero .eyebrow { color: var(--color-sand); }
.ohia-page-openings-reopenings .page-hero .hero-intro, .ohia-page-systems-standards-sops .page-hero .hero-intro { color: #e8e3db; }
.ohia-page-performance-improvement .page-hero { background: #dbe3d8; }
.ohia-service-detail .content-section:nth-of-type(3n) { background: #e8ebe3 !important; }

.ohia-page-tools .tools-hero { min-height: 58svh; background: #e5e9e1; }
.ohia-page-privacy-policy .page-hero, .ohia-page-accessibility .page-hero { min-height: 50svh; }
.ohia-page-privacy-policy .content-section, .ohia-page-accessibility .content-section { padding-block: clamp(3rem, 6vw, 6rem); }

/* Editor-insertable field journal modules. */
.journal-full-bleed { position: relative; min-height: 65svh; overflow: hidden; color: var(--color-paper); background: var(--color-lava); }
.journal-full-bleed .wp-block-image { margin: 0; }
.journal-full-bleed img { display: block; width: 100%; height: 65svh; object-fit: cover; }
.journal-full-bleed::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(22,25,20,.55)); pointer-events: none; }
.journal-full-bleed__caption { position: absolute; z-index: 1; left: var(--journal-gutter); bottom: 1.5rem; margin: 0; font-size: .68rem; letter-spacing: .16em; }
.journal-annotation { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0; align-items: end; }
.journal-annotation > .eyebrow { grid-column: 1 / -1; }
.journal-annotation > .wp-block-image { grid-column: 2 / 9; margin: 0; }
.journal-annotation img { width: 100%; max-height: 760px; object-fit: cover; }
.journal-annotation__copy { grid-column: 10 / 13; margin: 0 0 1rem; padding-top: 1rem; border-top: 1px solid var(--journal-line); font: 400 clamp(1.4rem, 2vw, 2.2rem)/1.25 "Iowan Old Style", Georgia, serif; }
.journal-manifesto { color: var(--color-paper); background: #252b26; }
.journal-manifesto .eyebrow { color: var(--color-sand); }
.journal-manifesto h2 { max-width: 15ch; font-size: clamp(4rem, 8vw, 9rem); line-height: .9; }
.journal-manifesto > p:last-child { max-width: 30rem; margin: 3rem 0 0 auto; }
.journal-collage { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0; align-items: end; }
.journal-collage > .eyebrow { grid-column: 1 / -1; }
.journal-collage__main { grid-column: 1 / 10; grid-row: 2; margin: 0; }
.journal-collage__main img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.journal-collage__detail { grid-column: 9 / 13; grid-row: 2; z-index: 1; margin: 0 0 -3rem; border: .75rem solid var(--color-paper); }
.journal-collage__detail img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.journal-collage__caption { grid-column: 2 / 8; grid-row: 3; margin-top: 2rem; font: 400 clamp(2rem, 3.6vw, 4rem)/1.05 "Iowan Old Style", Georgia, serif; }
.journal-insight-feature { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.journal-insight-feature .eyebrow { grid-column: 1 / -1; }
.journal-insight-feature h2 { grid-column: 1 / 9; font-size: clamp(4rem, 7vw, 8rem); line-height: .95; }
.journal-insight-feature > p:last-child { grid-column: 9 / 13; align-self: end; border-top: 1px solid var(--journal-line); padding-top: 1rem; }

/* The footer reads as the final spread. */
.site-footer { background: #1e211e; }
.site-footer__inner { width: 100%; max-width: none; padding: clamp(5rem, 9vw, 10rem) var(--journal-gutter) 1rem; }
.footer-top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem 0; }
.footer-top > :first-child { grid-column: 1 / 5; }
.footer-top > nav { grid-column: 8 / 13; }
.footer-top > .footer-statement { grid-column: 1 / 12; grid-row: 2; max-width: 14ch; margin-top: clamp(3rem, 7vw, 8rem); font-size: clamp(4rem, 8vw, 9rem); line-height: .9; letter-spacing: -.06em; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem 1rem; }
.footer-links a { font-size: .8rem; }
.site-footer__legal { margin-top: clamp(4rem, 8vw, 8rem); border-color: var(--journal-light-line); }

@media (min-width: 1101px) {
  .home-hero > .hero-visual { animation: journal-image-in var(--motion-cinematic) var(--motion-ease) both; }
  .home-hero h1 { animation: journal-type-in var(--motion-reveal) var(--motion-ease) both; }
}
@keyframes journal-image-in { from { opacity: .5; clip-path: inset(12% 0 0 0); transform: scale(1.03); } to { opacity: 1; clip-path: inset(0); transform: scale(1); } }
@keyframes journal-type-in { from { opacity: .4; transform: translateY(1.2rem); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1100px) {
  .site-header__inner { padding-block: 1rem; }
  .menu-toggle { border: 0; border-bottom: 1px solid currentColor; padding-inline: 0; }
  .js .primary-nav.is-open { position: absolute; top: 100%; inset-inline: 0; min-height: calc(100svh - 5.5rem); display: flex; flex-direction: column; align-items: stretch; justify-content: center; padding: 3rem var(--journal-gutter) 5rem; background: var(--color-forest); color: var(--color-paper); box-shadow: 0 20px 40px rgba(0,0,0,.2); }
  .js .primary-nav.is-open .nav-list { display: grid; grid-template-columns: 1fr 1fr; gap: .1rem 2rem; width: 100%; }
  .js .primary-nav.is-open .nav-list a { font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2rem, 4vw, 4rem); line-height: 1.1; padding-block: .65rem; }
  .js .primary-nav.is-open .header-cta { color: var(--color-paper); align-self: start; margin-top: 2rem; }
  .home-hero h1 { font-size: clamp(4.5rem, 9vw, 7rem); }
  .service-index-section { grid-template-columns: minmax(0, 1fr) minmax(13rem, .55fr); gap: 2rem; }
}

@media (max-width: 768px) {
  .section { padding-block: clamp(4.5rem, 12vw, 7rem); }
  .home-hero { min-height: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-top: 2rem; }
  .home-hero > .hero-text { grid-column: 1 / -1; grid-row: 1; padding: 1rem 0 0; }
  .home-hero h1 { max-width: 11ch; font-size: clamp(4.5rem, 11vw, 7rem); margin-bottom: 2rem; }
  .home-hero > .hero-visual { grid-column: 2 / -1; grid-row: 2; height: clamp(360px, 70vw, 650px); margin: 2rem calc(-1 * var(--journal-gutter)) 0 0; }
  .home-hero > .hero-footnote { grid-row: 3; margin-top: 1rem; }
  .central-section .editorial-split, .philosophy .editorial-split, .cta-band .editorial-split, .content-section .editorial-split { display: block; }
  .central-section h2 { font-size: clamp(4rem, 10vw, 6rem); }
  .central-section .editorial-split > :last-child, .content-section .editorial-split > :last-child { padding-top: 2rem; max-width: 42rem; margin-left: auto; }
  .philosophy { min-height: 0; padding-block: 7rem; }
  .philosophy::before { left: 20%; opacity: .4; }
  .philosophy::after { background: rgba(32,36,31,.73); }
  .philosophy .pullquote { font-size: clamp(4rem, 10vw, 7rem); }
  .philosophy .editorial-split > :last-child { max-width: 40rem; margin: 4rem 0 0 auto; }
  .service-index-section { display: block; }
  .service-index-section .service-grid__item { position: relative; }
  .service-grid__preview-toggle { display: grid; place-items: center; position: absolute; right: 0; top: 1rem; width: 44px; height: 44px; border: 1px solid var(--journal-line); border-radius: 50%; background: transparent; color: var(--color-forest); font: 400 1.5rem/1 Arial, sans-serif; cursor: pointer; }
  .service-grid__preview-toggle[aria-expanded="true"] { background: var(--color-forest); color: var(--color-paper); }
  .service-grid__item h3 a::after { display: none; }
  .service-grid__item .service-preview { grid-column: 1 / -1; position: relative; top: auto; width: 100%; min-height: 22rem; margin-top: 1rem; }
  .service-preview__number { font-size: 11rem; }
  .ecosystem-section > .field-image { height: clamp(280px, 70vw, 500px); }
  .ecosystem { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .ecosystem::before { display: none; }
  .ecosystem__item:nth-child(n) { grid-column: auto; margin: 0; }
  .home .outcome { grid-template-columns: 1fr; gap: 1.2rem; }
  .home .outcome:nth-child(n) h3 { margin-left: 0; }
  .home .outcome p { max-width: 40rem; }
  .home-insights { display: block; }
  .home-insights__heading { margin-bottom: 3rem; }
  .cta-band h2 { font-size: clamp(4.5rem, 10vw, 7rem); }
  .cta-band .editorial-split > :last-child { max-width: 38rem; margin-left: auto; }
  .page-hero { display: block; padding-block: 5rem 4rem; }
  .page-hero h1 { font-size: clamp(4.2rem, 9vw, 7rem); }
  .page-hero > .lead, .page-hero > .hero-intro { max-width: 42rem; margin-left: auto; }
  .ohia-page-who-we-serve .page-hero > .field-image, .ohia-page-about .page-hero > .field-image, .ohia-service-detail .page-hero > .service-hero-image { height: clamp(340px, 62vw, 600px); min-height: 0; margin: 2rem 0 0; }
  .content-section h2 { font-size: clamp(3.4rem, 7vw, 5rem); }
  .ohia-page-approach .page-hero { min-height: 65svh; }
  .ohia-page-approach .content-section, .ohia-page-who-we-serve .content-section { min-height: 0; }
  .ohia-page-approach main > section:has(.process-step) { display: flex; flex-direction: column; }
  .ohia-page-approach main > section:has(.process-step) > h2 { position: static; margin-bottom: 2rem; }
  .ohia-page-approach main > section:has(.process-step) > h2 { order: 1; }
  .ohia-page-approach main > section:has(.process-step) > .eyebrow { order: 2; }
  .ohia-page-approach main > section:has(.process-step) > .field-image { order: 3; min-height: 0; height: clamp(330px, 65vw, 560px); margin: 1rem 0 3rem; }
  .ohia-page-approach main > section:has(.process-step) > .process-step { order: 4; width: 100%; }
  .ohia-page-approach main > section:has(.process-step) > .process-step { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; }
  .contact-section { grid-template-columns: 1fr; }
  .journal-annotation, .journal-collage, .journal-insight-feature { display: block; }
  .journal-annotation > .wp-block-image { margin: 0 0 2rem; }
  .journal-collage__main { margin: 0; }
  .journal-collage__detail { max-width: 55%; margin: -5rem 0 0 auto; }
  .journal-collage__caption { max-width: 18ch; margin-top: 2rem; }
  .journal-insight-feature > p:last-child { max-width: 35rem; margin-left: auto; }
  .footer-top { display: grid; grid-template-columns: 1fr 1fr; }
  .footer-top > :first-child { grid-column: 1 / -1; }
  .footer-top > nav { grid-column: 1 / -1; }
  .footer-top > .footer-statement { grid-column: 1 / -1; grid-row: 3; }
}

@media (max-width: 550px) {
  .site-header__inner { padding-block: .8rem; }
  .brand-name { font-size: 2.2rem; }
  .js .primary-nav.is-open .nav-list { grid-template-columns: 1fr; }
  .js .primary-nav.is-open .nav-list a { font-size: clamp(2rem, 8vw, 3rem); }
  .home-hero { padding-top: 1.25rem; }
  .home-hero h1 { font-size: clamp(4rem, 16vw, 5.8rem); line-height: .88; }
  .hero-text > p:not(.eyebrow) { font-size: .85rem; }
  .home-hero > .hero-visual { grid-column: 1 / -1; height: min(110vw, 520px); margin-right: calc(-1 * var(--journal-gutter)); }
  .home-hero .wp-block-buttons { gap: .7rem 1.4rem; }
  .central-section h2 { font-size: clamp(3.7rem, 14vw, 5rem); }
  .philosophy .pullquote { font-size: clamp(3.65rem, 12vw, 5.2rem); }
  .section-heading { gap: 1rem; }
  .service-grid__item { grid-template-columns: 2rem minmax(0, 1fr); gap: .5rem 1rem; }
  .service-grid__item h3 { font-size: clamp(2rem, 9vw, 3rem); }
  .service-grid__item > p:not(.eyebrow) { font-size: .8rem; }
  .ecosystem { display: block; }
  .ecosystem__item { margin: 0 0 1rem !important; }
  .home .outcome h3 { font-size: clamp(3.2rem, 13vw, 5rem); }
  .cta-band h2 { font-size: clamp(4rem, 14vw, 6rem); }
  .page-hero h1 { font-size: clamp(3.7rem, 13vw, 5.5rem); }
  .content-section h2 { font-size: clamp(3.1rem, 11vw, 4.3rem); }
  .article-list article { display: block; }
  .footer-top > .footer-statement { font-size: clamp(3.8rem, 14vw, 6rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .home-hero > .hero-visual, .home-hero h1 { animation: none; }
  .service-grid__item, .ecosystem__item, .nav-list a::after { transition: none; }
}
