:root {
  --ink: #15231f;
  --ink-soft: #263731;
  --rust: #b65331;
  --rust-dark: #8f3e23;
  --sand: #e8d4b2;
  --cream: #f4f0e7;
  --paper: #fbf9f4;
  --sage: #7b897f;
  --line: rgba(21, 35, 31, 0.18);
  --light-line: rgba(255, 255, 255, 0.22);
  --shadow: 0 24px 80px rgba(21, 35, 31, 0.14);
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.6; text-rendering: optimizeLegibility; }
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }
.entry-content > * { margin-block-start: 0; }
.alignfull { width: 100%; }
.alignwide { width: min(1240px, calc(100% - 64px)); max-width: none; margin-inline: auto; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
::selection { color: var(--paper); background: var(--rust); }

.container { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
.section { padding: 112px 0; }
.eyebrow { margin: 0 0 20px; color: var(--rust); font-size: 0.73rem; font-weight: 800; letter-spacing: 0.19em; line-height: 1.4; text-transform: uppercase; }
.eyebrow.light { color: var(--sand); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 500; letter-spacing: -0.045em; line-height: 0.99; }
h1 { font-size: clamp(3.5rem, 7.2vw, 7.7rem); }
h2 { font-size: clamp(2.6rem, 4.2vw, 5rem); }
h3 { line-height: 1.2; }
.lede { max-width: 760px; font-size: clamp(1.12rem, 1.5vw, 1.38rem); line-height: 1.65; }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 34px; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 24px; border: 1px solid transparent; font-size: 0.79rem; font-weight: 800; letter-spacing: 0.09em; line-height: 1; text-align: center; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-small { min-height: 44px; padding: 12px 17px; font-size: 0.69rem; }
.button-ink { color: var(--paper); background: var(--ink); }
.button-ink:hover { background: var(--rust); }
.button-rust { color: white; background: var(--rust); }
.button-rust:hover { background: var(--rust-dark); }
.button-sand { color: var(--ink); background: var(--sand); }
.button-sand:hover { background: white; }
.button-ghost { color: white; border-color: rgba(255,255,255,.72); background: rgba(10,20,17,.12); backdrop-filter: blur(8px); }
.button-ghost:hover { color: var(--ink); background: white; border-color: white; }
.text-link { display: inline-flex; align-items: center; gap: 28px; border-bottom: 1px solid currentColor; padding-bottom: 7px; color: var(--ink); font-size: 0.78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.text-link span { font-size: 1.05rem; transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px, -3px); }
.text-link.light { color: white; }

.site-header { position: relative; z-index: 50; border-bottom: 1px solid var(--line); background: rgba(244, 240, 231, .96); }
.rrb-contact-bar { color: white; background: var(--ink); }
.rrb-contact-bar-inner { display: flex; width: min(1380px, calc(100% - 48px)); min-height: 38px; align-items: center; justify-content: space-between; gap: 28px; margin: auto; }
.rrb-contact-bar-context { margin: 0; color: rgba(255,255,255,.68); font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.rrb-contact-bar-actions { display: flex; min-height: 38px; align-items: stretch; }
.rrb-contact-bar-phone, .rrb-contact-bar-link { display: inline-flex; align-items: center; gap: 9px; font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.rrb-contact-bar-phone { padding: 0 22px; color: white; border-inline: 1px solid var(--light-line); }
.rrb-contact-bar-phone span { color: var(--sand); }
.rrb-contact-bar-phone strong { font-weight: 800; }
.rrb-contact-bar-link { padding-left: 22px; color: white; }
.rrb-contact-bar-link span { color: var(--sand); font-size: .9rem; transition: transform .2s ease; }
.rrb-contact-bar-phone:hover, .rrb-contact-bar-link:hover { color: var(--sand); }
.rrb-contact-bar-link:hover span { transform: translateX(3px); }
.header-inner { display: grid; width: min(1380px, calc(100% - 48px)); min-height: 84px; grid-template-columns: 250px 1fr auto; align-items: center; gap: 28px; margin: auto; }
.brand { display: flex; align-items: center; gap: 11px; }
.brand img { width: 47px; height: 47px; object-fit: contain; mix-blend-mode: multiply; }
.brand .wp-block-site-logo { flex: 0 0 auto; }
.brand .wp-block-site-title { margin: 0; font-family: var(--serif); font-size: 1.23rem; font-weight: 600; letter-spacing: -.03em; line-height: .95; }
.brand span { display: flex; flex-direction: column; font-family: var(--serif); line-height: .9; }
.brand strong { font-size: 1.23rem; font-weight: 600; letter-spacing: -.03em; }
.brand small { margin-top: 5px; font-family: var(--sans); font-size: .58rem; font-weight: 800; letter-spacing: .28em; text-transform: uppercase; }
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: 30px; font-size: .73rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.desktop-nav .wp-block-navigation__container { gap: 27px; }
.desktop-nav .wp-block-navigation__submenu-container { width: 300px !important; padding: 14px; border: 1px solid var(--line) !important; background: var(--paper) !important; box-shadow: var(--shadow); }
.desktop-nav .wp-block-navigation__submenu-container a { padding: 10px 12px !important; font-family: var(--serif); font-size: 1rem; font-weight: 500; letter-spacing: -.02em; text-transform: none; }
.desktop-nav > a, .nav-menu > summary { padding: 30px 0; cursor: pointer; transition: color .2s ease; }
.desktop-nav > a:hover, .nav-menu > summary:hover { color: var(--rust); }
.nav-menu { position: relative; }
.nav-menu summary { list-style: none; }
.nav-menu summary::-webkit-details-marker { display: none; }
.nav-menu summary::after { content: "+"; margin-left: 8px; color: var(--rust); }
.nav-menu[open] summary::after { content: "–"; }
.nav-panel { position: absolute; top: 72px; left: -32px; display: grid; width: 310px; padding: 18px; border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow); }
.nav-panel a { padding: 12px 14px; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.06rem; font-weight: 500; letter-spacing: -.02em; text-transform: none; }
.nav-panel a:last-child { border: 0; }
.nav-panel a:hover { color: var(--rust); background: var(--cream); }
.header-actions { display: flex; align-items: center; gap: 20px; }
.header-phone { font-size: .72rem; font-weight: 800; letter-spacing: .06em; }
.mobile-menu { display: none; }

.home-hero { position: relative; min-height: calc(100svh - 122px); overflow: hidden; color: white; background: var(--ink); }
.home-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(12,25,21,.93) 0%, rgba(12,25,21,.68) 45%, rgba(12,25,21,.16) 78%), linear-gradient(0deg, rgba(12,25,21,.65), transparent 50%) !important; opacity: 1 !important; }
.home-hero .wp-block-cover__inner-container { width: 100%; }
.home-hero .wp-block-cover__image-background { object-position: 58% 52%; animation: hero-settle 1.4s ease-out both; }
.hero-media, .hero-scrim { position: absolute; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 58% 52%; animation: hero-settle 1.4s ease-out both; }
.hero-scrim { background: linear-gradient(90deg, rgba(12,25,21,.93) 0%, rgba(12,25,21,.68) 45%, rgba(12,25,21,.16) 78%), linear-gradient(0deg, rgba(12,25,21,.65), transparent 50%); }
.hero-content { position: relative; z-index: 2; display: flex; min-height: calc(100svh - 122px); flex-direction: column; align-items: flex-start; justify-content: center; padding-top: 72px; padding-bottom: 110px; }
.hero-content h1 { max-width: 920px; margin-bottom: 32px; font-size: clamp(4.5rem, 8.6vw, 9.3rem); line-height: .86; }
.hero-lede { max-width: 680px; margin-bottom: 0; color: rgba(255,255,255,.86); font-size: clamp(1.08rem, 1.6vw, 1.42rem); line-height: 1.55; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 48px; color: rgba(255,255,255,.72); font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hero-proof span { display: flex; align-items: center; gap: 6px; }
.hero-proof span:not(:last-child)::after { content: ""; width: 3px; height: 3px; margin-left: 18px; border-radius: 50%; background: var(--sand); }
.hero-proof strong { color: white; }
.hero-scroll { position: absolute; right: 40px; bottom: 38px; z-index: 3; display: flex; align-items: center; gap: 18px; color: rgba(255,255,255,.72); font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; writing-mode: vertical-rl; }
.hero-scroll span { color: var(--sand); font-size: 1.2rem; }
@keyframes hero-settle { from { opacity: .35; transform: scale(1.04); } to { opacity: 1; transform: scale(1); } }

.section-intro { background: var(--cream); }
.intro-grid { display: grid; grid-template-columns: 1fr 3fr; gap: 64px; }
.intro-grid h2 { max-width: 1030px; margin-bottom: 32px; }
.intro-grid .lede { margin-bottom: 34px; color: var(--ink-soft); }
.dark-section { color: white; background: var(--ink); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(260px, .8fr); align-items: end; gap: 64px; margin-bottom: 60px; }
.section-heading h2 { max-width: 820px; margin: 0; }
.section-heading > p { margin: 0; color: rgba(21,35,31,.72); font-size: 1.06rem; }
.light-heading > p { color: rgba(255,255,255,.68); }
.light-heading .text-link { justify-self: end; }
.featured-projects { display: grid; min-height: 700px; grid-template-columns: 1.1fr .9fr; grid-template-rows: 1fr 1fr; gap: 16px; }
.featured-card { position: relative; min-height: 320px; overflow: hidden; background: #273731; }
.featured-1 { grid-row: 1 / 3; }
.featured-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.featured-card:hover img { transform: scale(1.035); }
.featured-overlay { position: absolute; inset: auto 0 0; padding: 70px 28px 28px; background: linear-gradient(0deg, rgba(11,23,19,.92), transparent); }
.featured-overlay p { margin-bottom: 7px; color: var(--sand); font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.featured-overlay h3 { margin: 0 0 18px; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 3.1rem); font-weight: 500; letter-spacing: -.04em; }
.featured-overlay span { font-size: .69rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.section-services { background: var(--paper); }
.service-list { border-top: 1px solid var(--line); }
.service-row { display: grid; grid-template-columns: 68px .8fr 1.4fr 28px; align-items: center; gap: 30px; padding: 28px 0; border-bottom: 1px solid var(--line); transition: color .2s ease, padding .2s ease; }
.service-row.wp-block-columns { grid-template-columns: 8% 32% 1fr; margin: 0; }
.service-row.wp-block-columns .wp-block-column { flex-basis: auto !important; }
.service-row:hover { padding-left: 12px; color: var(--rust); }
.service-number { color: var(--rust); font-size: .66rem; font-weight: 800; letter-spacing: .12em; }
.service-row h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.55rem, 2.3vw, 2.5rem); font-weight: 500; letter-spacing: -.04em; }
.service-row p { margin: 0; color: rgba(21,35,31,.66); font-size: .89rem; }
.service-row i { font-style: normal; font-size: 1.3rem; }

.section-pathfinder { background: var(--sand); }
.pathfinder { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 88px; }
.pathfinder-intro h2 { margin-bottom: 26px; }
.pathfinder-intro > p:last-child { max-width: 490px; color: rgba(21,35,31,.72); font-size: 1.06rem; }
.pathfinder-card { min-height: 520px; padding: 52px; background: var(--paper); box-shadow: var(--shadow); }
.progress-track { height: 3px; margin-bottom: 48px; overflow: hidden; background: rgba(21,35,31,.12); }
.progress-track span { display: block; height: 100%; background: var(--rust); transition: width .35s ease; }
.pathfinder-kicker { margin-bottom: 13px; color: var(--rust); font-size: .69rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.pathfinder-card h3 { margin-bottom: 30px; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.2rem); font-weight: 500; letter-spacing: -.04em; }
.choice-list { display: grid; border-top: 1px solid var(--line); }
.choice-list button { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 5px; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; transition: padding .2s ease, color .2s ease; }
.choice-list button:hover { padding-left: 13px; color: var(--rust); }
.choice-list i { font-style: normal; }
.back-button { margin-top: 24px; padding: 0; border: 0; border-bottom: 1px solid currentColor; color: rgba(21,35,31,.65); background: none; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.pathfinder-result > p:not(.pathfinder-kicker) { color: rgba(21,35,31,.72); }
.result-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; }
.result-summary span { padding: 8px 12px; background: var(--cream); font-size: .69rem; font-weight: 800; letter-spacing: .04em; }

.process-section { background: var(--cream); }
.process-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.process-grid.wp-block-columns { align-items: stretch !important; }
.process-grid.wp-block-columns > .wp-block-column { min-height: 280px; padding: 28px 24px; border-right: 1px solid var(--line); }
.process-grid.wp-block-columns > .wp-block-column:first-child { padding-left: 0; }
.process-grid.wp-block-columns > .wp-block-column:last-child { border-right: 0; }
.process-grid.wp-block-columns h3 { margin-top: 70px; }
.process-grid li { min-height: 280px; padding: 28px 24px 28px 0; border-right: 1px solid var(--line); }
.process-grid li:not(:first-child) { padding-left: 24px; }
.process-grid li:last-child { border-right: 0; }
.process-grid span { color: var(--rust); font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.process-grid h3 { margin: 70px 0 16px; font-family: var(--serif); font-size: 1.6rem; font-weight: 500; letter-spacing: -.035em; }
.process-grid p { color: rgba(21,35,31,.68); font-size: .86rem; }
.owner-section { background: var(--paper); }
.owner-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 90px; }
.owner-image { position: relative; }
.owner-image > img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.image-note { position: absolute; right: -26px; bottom: 42px; display: flex; width: 220px; flex-direction: column; padding: 24px; color: white; background: var(--rust); }
.image-note span { margin-bottom: 4px; font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.image-note strong { font-family: var(--serif); font-size: 1.3rem; font-weight: 500; }
.owner-copy h2 { margin-bottom: 30px; }
.owner-copy blockquote { margin: 40px 0; padding: 28px 0 0 30px; border-top: 1px solid var(--line); border-left: 3px solid var(--rust); font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.9rem); line-height: 1.35; }
.owner-copy cite { display: block; margin-top: 20px; font-family: var(--sans); font-size: .65rem; font-style: normal; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.review-section { color: white; background: var(--rust); }
.review-grid { display: grid; grid-template-columns: 1fr 260px; align-items: center; gap: 80px; }
.review-grid .eyebrow { color: #ffe3c9; }
.stars { margin-bottom: 24px; color: var(--sand); font-size: 1rem; letter-spacing: .3em; }
.review-grid blockquote { max-width: 900px; margin: 0 0 22px; font-family: var(--serif); font-size: clamp(2.2rem, 4.4vw, 4.9rem); letter-spacing: -.04em; line-height: 1.04; }
.review-source { margin: 0; font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.review-score { display: flex; min-height: 240px; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.35); text-align: center; }
.review-score strong { font-family: var(--serif); font-size: 5rem; font-weight: 500; line-height: .9; }
.review-score span { margin: 10px 0 34px; font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.review-score a { border-bottom: 1px solid white; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.areas-section { background: var(--paper); }
.area-links { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.area-links.wp-block-columns { gap: 0; }
.area-links.wp-block-columns > .wp-block-column { border-right: 1px solid var(--line); }
.area-links.wp-block-columns p { margin: 0; border-bottom: 1px solid var(--line); }
.area-links.wp-block-columns a { display: flex; min-height: 120px; align-items: flex-end; justify-content: space-between; padding: 24px; font-family: var(--serif); font-size: 1.4rem; }
.area-links.wp-block-columns a:hover { color: white; background: var(--ink); }
.area-links a { display: flex; min-height: 120px; align-items: flex-end; justify-content: space-between; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.4rem; transition: color .2s ease, background .2s ease; }
.area-links a:hover { color: white; background: var(--ink); }
.area-links span { font-family: var(--sans); font-size: .9rem; }
.notes-section { background: var(--cream); }
.insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.insight-card { display: flex; min-height: 360px; flex-direction: column; padding: 34px; border: 1px solid var(--line); background: var(--paper); transition: transform .25s ease, box-shadow .25s ease; }
.insight-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.insight-card > span:not(.insight-card-media) { margin-bottom: 72px; color: var(--rust); font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.insight-card .wp-block-post-featured-image { width: calc(100% + 68px); margin: -34px -34px 28px; overflow: hidden; background: var(--cream); }
.insight-card .wp-block-post-featured-image a, .insight-card .wp-block-post-featured-image img { display: block; width: 100%; }
.insight-card .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; transition: transform .35s ease; }
.insight-card:hover .wp-block-post-featured-image img { transform: scale(1.025); }
.insight-card .wp-block-post-terms { margin: 0 0 34px; color: var(--rust); font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.insight-card h2, .insight-card h3 { margin-bottom: 18px; font-family: var(--serif); font-size: clamp(1.7rem, 2.4vw, 2.7rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.08; }
.insight-card p { color: rgba(21,35,31,.67); }
.insight-card i { margin-top: auto; font-size: .67rem; font-style: normal; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.section-faq { background: var(--paper); }
.split-heading { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.split-heading h2 { max-width: 570px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; cursor: pointer; font-family: var(--serif); font-size: 1.25rem; font-weight: 500; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--rust); font-family: var(--sans); font-size: 1.3rem; font-weight: 400; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 680px; padding: 0 40px 22px 0; color: rgba(21,35,31,.68); }
.conversion-band { padding: 90px 0; background: var(--sand); }
.conversion-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 90px; }
.conversion-grid h2 { margin: 0; }
.conversion-grid > div:last-child > p { color: rgba(21,35,31,.72); font-size: 1.06rem; }

.site-footer { padding: 110px 0 26px; color: white; background: var(--ink); }
.site-footer a { color: inherit; }
.footer-main { display: grid; grid-template-columns: 1.2fr 1fr; gap: 100px; padding-bottom: 90px; }
.footer-brand h2 { max-width: 650px; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; padding-top: 10px; }
.footer-links h3 { margin-bottom: 22px; color: var(--sand); font-size: .65rem; letter-spacing: .13em; text-transform: uppercase; }
.footer-links a { display: block; margin: 10px 0; color: rgba(255,255,255,.72); font-size: .78rem; }
.footer-links a:hover { color: white; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 22px; border-top: 1px solid var(--light-line); color: rgba(255,255,255,.55); font-size: .68rem; letter-spacing: .03em; }
.footer-bottom p { margin: 0; }

.breadcrumb-wrap { padding-top: 24px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: rgba(21,35,31,.56); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumbs i { margin-right: 8px; color: var(--rust); font-style: normal; }
.breadcrumbs a:hover { color: var(--rust); }
.page-hero { padding: 48px 0 104px; background: var(--cream); }
.page-hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 80px; }
.page-hero-copy h1 { margin-bottom: 30px; font-size: clamp(3.8rem, 6vw, 7.2rem); }
.page-hero-copy .lede { color: rgba(21,35,31,.72); }
.page-hero-media { position: relative; }
.page-hero-media::before { content: ""; position: absolute; inset: 24px -24px -24px 24px; border: 1px solid var(--rust); }
.page-hero-media img { position: relative; width: 100%; min-height: 650px; object-fit: cover; }
.highlight-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.highlight-grid article { min-height: 300px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.highlight-grid span { color: var(--rust); font-size: .66rem; font-weight: 800; letter-spacing: .12em; }
.highlight-grid h2 { margin: 88px 0 18px; font-size: clamp(1.8rem, 2.8vw, 3rem); }
.highlight-grid p { color: rgba(21,35,31,.68); }
.content-pair.wp-block-columns { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.content-pair h2 { max-width: 620px; }
.content-pair > .wp-block-column:last-child > p { color: rgba(21,35,31,.74); font-size: 1.04rem; line-height: 1.82; }
.page-depth { background: var(--paper); }
.scope-section { background: var(--cream); }
.scope-grid.wp-block-columns { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 55px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.scope-grid > .wp-block-column { min-height: 300px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.scope-grid h3 { margin: 70px 0 15px; font-size: clamp(1.45rem, 2vw, 2.1rem); }
.scope-grid p:last-child { color: rgba(21,35,31,.68); font-size: .88rem; }
.process-page-hero h1 { font-size: clamp(4rem, 6.8vw, 7.5rem); }
.process-page-hero .content-pair > .wp-block-column:last-child > p { color: rgba(255,255,255,.72); }
.process-field-image { position: relative; min-height: min(78vw, 840px); }
.process-field-image .wp-block-cover__image-background { object-position: 50% 38%; }
.process-field-image .wp-block-cover__inner-container { display: flex; width: min(100% - 48px, 1280px); min-height: inherit; align-items: flex-end; justify-content: flex-end; margin: 0 auto; padding-bottom: 70px; }
.process-field-note { width: min(480px, 100%); padding: 34px; background: rgba(12,27,22,.88); backdrop-filter: blur(8px); }
.process-field-note p:last-child { margin: 0; color: rgba(255,255,255,.76); font-size: 1.08rem; }
.process-phases-list h2 { max-width: 880px; }
.process-phase-list { margin-top: 70px; border-top: 1px solid var(--light-line); }
.process-phase { display: grid; grid-template-columns: 70px .8fr 1.2fr; gap: 30px; padding: 48px 0; border-bottom: 1px solid var(--light-line); }
.process-phase > .service-number { grid-row: 1 / 6; }
.process-phase > h3 { margin: 0; font-size: clamp(1.8rem, 2.4vw, 2.8rem); }
.process-phase > .lede { grid-row: span 4; color: rgba(255,255,255,.68); }
.process-phase > h4 { grid-column: 3; margin: 0; color: var(--sand); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.process-phase > p:not(.service-number):not(.lede) { grid-column: 3; margin: 0; color: rgba(255,255,255,.7); }
.project-takeaway-section .eyebrow { color: #ffe3c9; }
.project-takeaway-section blockquote { max-width: 1040px; margin: 0; border: 0; padding: 0; }
.project-takeaway-section blockquote p { margin: 0; color: white; font-family: var(--serif); font-size: clamp(2.7rem, 5vw, 5.5rem); letter-spacing: -.045em; line-height: 1.04; }
.project-gallery-section { padding-top: 0; }
.project-story-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.project-story-gallery figure { height: 100%; margin: 0; overflow: hidden; background: var(--cream); }
.project-story-gallery figure:first-child { grid-column: 1 / 3; }
.project-story-gallery img { display: block; width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.project-story-gallery figure:first-child img { min-height: 620px; }
.page-process { background: var(--ink); color: white; }
.page-process .eyebrow { color: var(--sand); }
.page-process ol { margin: 0; padding: 0; border-top: 1px solid var(--light-line); list-style: none; }
.page-process li { display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 25px 0; border-bottom: 1px solid var(--light-line); }
.page-process li > span { color: var(--sand); font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.page-process h3 { margin-bottom: 8px; font-family: var(--serif); font-size: 1.55rem; font-weight: 500; }
.page-process p { margin: 0; color: rgba(255,255,255,.65); }
.page-process .wp-block-list > li { grid-template-columns: clamp(170px, 22vw, 310px) minmax(0, 1fr); gap: 28px; }
.page-process .wp-block-list > li > strong { display: block; color: white; }
.page-process .wp-block-list > li > .process-copy { color: rgba(255,255,255,.72); font-size: inherit; font-weight: 400; letter-spacing: normal; line-height: 1.6; }
.image-break { background: var(--cream); }
.image-break-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 90px; }
.image-break-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.image-break-grid h2 { margin-bottom: 24px; }
.image-break-grid p:not(.eyebrow) { color: rgba(21,35,31,.68); }

.projects-hero { padding: 80px 0 100px; color: white; background: linear-gradient(90deg, rgba(13,29,24,.94), rgba(13,29,24,.55)), var(--ink); }
.projects-hero .breadcrumbs { margin-bottom: 80px; color: rgba(255,255,255,.65); }
.projects-hero h1 { max-width: 980px; margin-bottom: 30px; }
.projects-hero > .container > p:last-child { max-width: 700px; color: rgba(255,255,255,.74); font-size: 1.2rem; }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 45px; }
.filter-row button { padding: 10px 16px; border: 1px solid var(--line); color: var(--ink); background: transparent; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.filter-row button.active, .filter-row button:hover { color: white; background: var(--ink); }
.project-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 70px 18px; }
.project-card:nth-child(3n) { grid-column: 1 / 3; }
.project-image { overflow: hidden; background: var(--cream); }
.project-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s ease; }
.project-card:nth-child(3n) .project-image img { aspect-ratio: 16 / 7; }
.project-card:hover .project-image img { transform: scale(1.025); }
.project-meta { padding: 22px 8px 0; }
.project-meta > p:first-child { margin-bottom: 7px; color: var(--rust); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.project-meta h2 { margin-bottom: 10px; font-size: 2.2rem; }
.project-meta > p:last-child { color: rgba(21,35,31,.68); }

.contact-hero { padding: 30px 0 110px; background: var(--cream); }
.contact-hero .breadcrumbs { margin-bottom: 70px; }
.contact-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 90px; }
.contact-copy h1 { margin-bottom: 30px; font-size: clamp(3.5rem, 5.6vw, 6.3rem); }
.contact-direct { margin: 46px 0 30px; border-top: 1px solid var(--line); }
.contact-direct a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.contact-direct span { color: var(--rust); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-direct strong { font-family: var(--serif); font-size: 1.2rem; font-weight: 500; }
.contact-note { color: rgba(21,35,31,.6); font-family: var(--serif); font-style: italic; }
.planner-wrap { padding: 44px; background: var(--paper); box-shadow: var(--shadow); }
.contact-form label { display: grid; gap: 8px; margin-bottom: 18px; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 52px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 0; color: var(--ink); background: transparent; outline: none; text-transform: none; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--rust); box-shadow: 0 0 0 2px rgba(182,83,49,.12); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 16px; }
.form-note { margin: 14px 0 0; color: rgba(21,35,31,.56); font-size: .68rem; }
.contact-ready { padding: 10px; }
.contact-ready h2 { margin-bottom: 20px; font-size: 3.5rem; }
.contact-ready dl { margin: 30px 0; border-top: 1px solid var(--line); }
.contact-ready dl div { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.contact-ready dt { color: var(--rust); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-ready dd { margin: 0; }

.notes-hero { padding: 80px 0 100px; background: var(--cream); }
.notes-hero .breadcrumbs { margin-bottom: 80px; }
.notes-hero h1 { max-width: 1050px; margin-bottom: 32px; }
.insight-grid-large { grid-template-columns: repeat(2, 1fr); }
.insight-grid-large .insight-card { min-height: 430px; }
.article-page { padding: 70px 0 110px; }
.article-header { max-width: 1000px; }
.article-header .breadcrumbs { margin-bottom: 80px; }
.article-header h1 { margin-bottom: 28px; font-size: clamp(3.4rem, 6.4vw, 7rem); }
.article-date { color: rgba(21,35,31,.58); font-size: .69rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.article-layout { display: grid; grid-template-columns: 220px minmax(0, 760px); justify-content: center; gap: 80px; margin-top: 80px; }
.article-layout aside { position: sticky; top: 30px; align-self: start; padding-top: 18px; border-top: 2px solid var(--rust); }
.article-layout aside p { font-family: var(--serif); font-size: 1.25rem; }
.article-layout aside a { display: block; margin: 14px 0; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.article-content { font-size: 1.04rem; line-height: 1.8; }
.article-content h2 { margin: 60px 0 20px; font-size: 2.7rem; line-height: 1.08; }
.article-content h3 { margin: 36px 0 14px; font-family: var(--serif); font-size: 1.7rem; font-weight: 500; }
.article-content p, .article-content li { color: rgba(21,35,31,.78); }
.article-content img { margin: 40px 0; }
.article-content a { color: var(--rust); text-decoration: underline; text-underline-offset: 4px; }
.pricing-guide-details { background: var(--paper); }
.pricing-guide-intro { max-width: 820px; margin-bottom: 52px; }
.pricing-guide-intro h2 { margin-bottom: 24px; }
.pricing-guide-intro p { color: rgba(21,35,31,.72); font-size: 1.08rem; }
.pricing-tier-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.pricing-tier { min-height: 260px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pricing-tier span, .pricing-tier .service-number { color: var(--rust); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pricing-tier strong { display: block; margin: 58px 0 12px; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.3rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.pricing-tier p { margin: 0; color: rgba(21,35,31,.68); }
.pricing-table-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; margin: 90px 0 34px; }
.pricing-table-heading p { color: rgba(21,35,31,.68); }
.pricing-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); }
.pricing-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.pricing-table th, .pricing-table td { padding: 18px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; }
.pricing-table th:last-child, .pricing-table td:last-child { border-right: 0; }
.pricing-table tr:last-child td { border-bottom: 0; }
.pricing-table thead th { color: white; background: var(--ink); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.pricing-table tbody th { color: var(--rust); background: var(--cream); font-family: var(--serif); font-size: 1.15rem; font-weight: 500; }
.pricing-guide-note { margin: 20px 0 0; padding: 20px 24px; border-left: 3px solid var(--rust); color: rgba(21,35,31,.7); background: var(--cream); }
.pricing-driver-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; margin-top: 90px; }
.pricing-driver-grid ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 28px; margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.pricing-driver-grid li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.pricing-barndo { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin-top: 80px; padding: 42px; color: white; background: var(--rust); }
.pricing-barndo strong { display: block; margin-top: 12px; font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 4.4rem); font-weight: 500; letter-spacing: -.04em; }
.pricing-barndo p { color: rgba(255,255,255,.82); }
.estimator-handoff { background: var(--paper); }
.estimator-canvas,
.estimator-canvas > .wp-block-post-content,
.estimator-canvas .wp-block-post-content,
.estimator-canvas .wp-block-rrb-estimator,
.estimator-canvas .rrb-estimator-handoff,
.estimator-canvas .estimator-handoff {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.estimator-canvas .wp-block-post-content > * { width: 100%; max-width: none; margin-inline: 0; }
.estimator-canvas .rrb-estimator-frame { display: block; width: 100%; max-width: none; height: calc(100svh - 84px); min-height: 760px; border: 0; }
.estimator-canvas .rrb-estimator-card { width: min(900px, calc(100% - 48px)); margin: 80px auto; }

/* Native WordPress block integrations. */
.wp-block-button__link { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 24px; border: 1px solid transparent; border-radius: 0; font-size: .79rem; font-weight: 800; letter-spacing: .09em; line-height: 1; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.home-hero .is-style-outline .wp-block-button__link { color: white; border-color: rgba(255,255,255,.72); background: rgba(10,20,17,.12); }
.home-hero .is-style-outline .wp-block-button__link:hover { color: var(--ink); border-color: white; background: white; }
.wp-block-post-content > :where(p, ul, ol, h2, h3, h4, blockquote) { width: min(760px, calc(100% - 36px)); margin-inline: auto; }
.wp-block-post-content > :where(.alignwide) { width: min(1240px, calc(100% - 64px)); }
.wp-block-post-content > :where(.alignfull) { width: 100%; max-width: none; }
.wp-block-post-content > p { color: rgba(21,35,31,.78); font-size: 1.04rem; line-height: 1.8; }
.wp-block-post-content > h2 { margin-top: 64px; font-size: clamp(2.3rem, 3.8vw, 3.8rem); }
.wp-block-post-content > h3 { margin-top: 40px; font-family: var(--serif); font-size: 1.8rem; font-weight: 500; }
.page-title-band, .article-header, .not-found { padding-block: 96px; }
.page-title-band h1, .article-header h1, .not-found h1 { max-width: 1050px; margin-bottom: 28px; }
.article-shell { padding-bottom: 110px; }
.article-header { padding-top: 110px; }
.article-shell > .wp-block-post-featured-image { margin-bottom: 70px; }
.article-nav { display: flex; justify-content: space-between; gap: 40px; margin-top: 80px; padding-top: 28px; border-top: 1px solid var(--line); }
.archive-shell > .alignwide:first-child { margin-bottom: 55px; }
.not-found { min-height: 70vh; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Ridge Rock native blocks. */
.rrb-editor-placeholder { padding: 28px; border: 1px dashed #b65331; background: #f4f0e7; }
.rrb-editor-placeholder strong { display: block; margin-bottom: 8px; font-family: var(--serif); font-size: 1.5rem; }
.rrb-pathfinder { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 88px; }
.rrb-pathfinder-card { min-height: 520px; padding: 52px; background: var(--paper); box-shadow: var(--shadow); }
.rrb-pathfinder-step[hidden], .rrb-pathfinder-result[hidden] { display: none; }
.rrb-pathfinder-progress { height: 3px; margin-bottom: 48px; overflow: hidden; background: rgba(21,35,31,.12); }
.rrb-pathfinder-progress span { display: block; height: 100%; background: var(--rust); transition: width .3s ease; }
.rrb-pathfinder-card h3 { margin-bottom: 30px; font-size: clamp(2rem, 3vw, 3.2rem); }
.rrb-choice-list { display: grid; border-top: 1px solid var(--line); }
.rrb-choice-list button { display: flex; align-items: center; justify-content: space-between; padding: 17px 5px; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.rrb-choice-list button:hover, .rrb-choice-list button:focus-visible { padding-left: 13px; color: var(--rust); }
.rrb-back { margin-top: 24px; padding: 0; border: 0; border-bottom: 1px solid currentColor; color: rgba(21,35,31,.65); background: none; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.rrb-result-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; }
.rrb-result-summary span { padding: 8px 12px; background: var(--cream); font-size: .69rem; font-weight: 800; }
.rrb-projects-featured .project-grid { min-height: 700px; grid-template-columns: 1.1fr .9fr; grid-template-rows: 1fr 1fr; gap: 16px; }
.rrb-projects-featured .project-card { position: relative; min-height: 320px; overflow: hidden; }
.rrb-projects-featured .project-card:first-child { grid-row: 1 / 3; }
.rrb-projects-featured .project-card:nth-child(3n) { grid-column: auto; }
.rrb-projects-featured .project-image, .rrb-projects-featured .project-image img { width: 100%; height: 100%; }
.rrb-projects-featured .project-image img, .rrb-projects-featured .project-card:nth-child(3n) .project-image img { aspect-ratio: auto; }
.rrb-projects-featured .project-meta { position: absolute; inset: auto 0 0; padding: 70px 28px 28px; color: white; background: linear-gradient(0deg, rgba(11,23,19,.92), transparent); }
.rrb-projects-featured .project-meta p { color: rgba(255,255,255,.72); }
.rrb-projects-featured .project-meta > p:first-child { color: var(--sand); }
.rrb-testimonial { display: grid; grid-template-columns: 1fr 260px; align-items: center; gap: 80px; }
.rrb-testimonial blockquote { margin: 0 0 22px; font-family: var(--serif); font-size: clamp(2.2rem, 4.4vw, 4.9rem); letter-spacing: -.04em; line-height: 1.04; }
.rrb-review-score { display: flex; min-height: 240px; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.35); text-align: center; }
.rrb-review-score strong { font-family: var(--serif); font-size: 5rem; font-weight: 500; line-height: .9; }
.rrb-review-score span { margin-top: 10px; font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rrb-contact-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 90px; }
.rrb-contact-panel { padding: 44px; background: var(--paper); box-shadow: var(--shadow); }
.rrb-form-status { padding: 13px 15px; border-left: 3px solid var(--rust); background: var(--cream); }
.rrb-form-status:empty { display: none; }
.rrb-form-status.is-success { border-color: #46745d; background: #e8f1ea; }
.rrb-honeypot { position: absolute !important; left: -9999px !important; }
.rrb-estimator-frame { width: 100%; min-height: 900px; border: 0; background: white; }
.rrb-estimator-card { padding: 58px; border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow); }

body.block-editor-page .editor-styles-wrapper { background: var(--paper); color: var(--ink); }
body.block-editor-page .editor-styles-wrapper .section { padding-block: 80px; }

@media (max-width: 1100px) {
  .header-inner { grid-template-columns: 220px 1fr auto; }
  .desktop-nav { gap: 17px; }
  .header-phone { display: none; }
  .rrb-contact-bar-context { display: none; }
  .rrb-contact-bar-inner { justify-content: flex-end; }
  .section { padding: 90px 0; }
  .pathfinder { gap: 55px; }
  .pathfinder-card { padding: 38px; }
  .process-grid { grid-template-columns: repeat(3, 1fr); }
  .process-grid li { border-bottom: 1px solid var(--line); }
  .process-grid li:nth-child(3) { border-right: 0; }
  .process-grid li:nth-child(4) { padding-left: 0; }
  .owner-grid, .page-hero-grid, .contact-grid { gap: 55px; }
  .scope-grid.wp-block-columns { grid-template-columns: repeat(2, 1fr); }
  .footer-main { grid-template-columns: 1fr; gap: 60px; }
}

@media (max-width: 860px) {
  .container { width: min(100% - 36px, 720px); }
  .site-header { position: relative; }
  .rrb-contact-bar-inner { width: calc(100% - 28px); min-height: 42px; justify-content: center; }
  .rrb-contact-bar-actions { width: 100%; min-height: 42px; justify-content: space-between; }
  .rrb-contact-bar-phone { padding: 0 14px 0 0; border-left: 0; }
  .rrb-contact-bar-phone span { font-size: 0; }
  .rrb-contact-bar-phone span::after { content: "Call"; font-size: .68rem; }
  .rrb-contact-bar-link { padding-left: 14px; border-left: 1px solid var(--light-line); }
  .header-inner { width: calc(100% - 28px); min-height: 74px; grid-template-columns: 1fr auto; }
  .header-actions { display: none; }
  .desktop-nav { display: flex; justify-self: end; }
  .mobile-menu { position: relative; display: block; }
  .mobile-menu > summary { padding: 10px 0; font-size: .7rem; font-weight: 800; letter-spacing: .1em; list-style: none; text-transform: uppercase; cursor: pointer; }
  .mobile-menu > summary::-webkit-details-marker { display: none; }
  .mobile-menu nav { position: absolute; top: 50px; right: 0; display: grid; width: min(340px, calc(100vw - 28px)); padding: 18px; border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow); }
  .mobile-menu nav a { padding: 10px 5px; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.12rem; }
  .home-hero, .hero-content { min-height: calc(100svh - 116px); }
  .hero-content { padding-top: 80px; }
  .hero-content h1 { font-size: clamp(4rem, 15vw, 7rem); }
  .hero-scrim { background: linear-gradient(90deg, rgba(12,25,21,.9), rgba(12,25,21,.28)), linear-gradient(0deg, rgba(12,25,21,.8), transparent 65%); }
  .hero-scroll { display: none; }
  .intro-grid, .section-heading, .pathfinder, .owner-grid, .review-grid, .split-heading, .conversion-grid, .footer-main, .page-hero-grid, .image-break-grid, .contact-grid, .content-pair.wp-block-columns { grid-template-columns: 1fr; }
  .intro-grid, .section-heading, .split-heading { gap: 28px; }
  .featured-projects { min-height: auto; grid-template-columns: 1fr; grid-template-rows: auto; }
  .featured-1 { grid-row: auto; }
  .featured-card { min-height: 420px; }
  .service-row { grid-template-columns: 40px 1fr 24px; }
  .service-row p { display: none; }
  .pathfinder { gap: 46px; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid.wp-block-columns { display: grid; }
  .process-grid.wp-block-columns > .wp-block-column { border-bottom: 1px solid var(--line); }
  .process-grid li:nth-child(3) { border-right: 1px solid var(--line); }
  .process-grid li:nth-child(even) { border-right: 0; }
  .process-grid li:nth-child(3), .process-grid li:nth-child(5) { padding-left: 0; }
  .process-grid h3 { margin-top: 44px; }
  .owner-image > img { aspect-ratio: 4 / 3; }
  .image-note { right: 12px; bottom: 12px; }
  .review-score { width: 240px; }
  .area-links { grid-template-columns: repeat(2, 1fr); }
  .area-links.wp-block-columns { display: grid; }
  .insight-grid { grid-template-columns: 1fr; }
  .footer-links { max-width: 620px; }
  .page-hero-media { order: -1; }
  .page-hero-media img { min-height: 480px; }
  .highlight-grid { grid-template-columns: 1fr; }
  .highlight-grid article { min-height: 220px; }
  .highlight-grid h2 { margin-top: 45px; }
  .project-grid { gap: 50px 14px; }
  .article-layout { grid-template-columns: 1fr; gap: 40px; }
  .article-layout aside { position: static; }
  .pricing-tier-grid { grid-template-columns: repeat(2, 1fr); }
  .pricing-table-heading, .pricing-driver-grid, .pricing-barndo { grid-template-columns: 1fr; gap: 28px; }
  .rrb-pathfinder, .rrb-contact-grid, .rrb-testimonial { grid-template-columns: 1fr; gap: 46px; }
  .rrb-projects-featured .project-grid { min-height: auto; grid-template-columns: 1fr; grid-template-rows: auto; }
  .rrb-projects-featured .project-card:first-child { grid-row: auto; }
  .process-phase { grid-template-columns: 50px 1fr; }
  .process-phase > .service-number { grid-row: 1 / 7; }
  .process-phase > h4, .process-phase > p:not(.service-number):not(.lede) { grid-column: 2; }
  .process-phase > .lede { grid-row: auto; }
  .process-field-image .wp-block-cover__inner-container { padding-bottom: 28px; }
  .estimator-canvas .rrb-estimator-frame { height: calc(100svh - 74px); min-height: 680px; }
}

@media (max-width: 580px) {
  body { font-size: 15px; }
  .container { width: calc(100% - 28px); }
  .section { padding: 72px 0; }
  .brand img { width: 42px; height: 42px; }
  .hero-content { justify-content: flex-end; padding-bottom: 70px; }
  .hero-content h1 { margin-bottom: 24px; font-size: 3.9rem; }
  .hero-lede { font-size: 1rem; }
  .hero-proof { display: grid; gap: 8px; margin-top: 34px; }
  .hero-proof span::after { display: none; }
  .button-row { align-items: stretch; }
  .button-row .button { width: 100%; }
  .featured-card { min-height: 360px; }
  .pathfinder-card, .planner-wrap { padding: 28px 20px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid.wp-block-columns { grid-template-columns: 1fr; }
  .process-grid.wp-block-columns > .wp-block-column { min-height: auto; padding: 26px 0; border-right: 0; }
  .process-grid li, .process-grid li:not(:first-child) { min-height: auto; padding: 26px 0; border-right: 0; }
  .process-grid h3 { margin-top: 28px; }
  .owner-grid { gap: 50px; }
  .image-note { position: static; width: 100%; }
  .review-grid { gap: 50px; }
  .review-score { width: 100%; }
  .area-links { grid-template-columns: 1fr; }
  .area-links.wp-block-columns { grid-template-columns: 1fr; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .page-hero { padding-top: 24px; }
  .page-hero-copy h1 { font-size: 3.5rem; }
  .page-hero-media::before { inset: 12px -8px -12px 12px; }
  .page-hero-media img { min-height: 360px; }
  .page-process .wp-block-list > li { grid-template-columns: 1fr; gap: 8px; }
  .project-grid { grid-template-columns: 1fr; }
  .project-card:nth-child(3n) { grid-column: auto; }
  .project-card:nth-child(3n) .project-image img { aspect-ratio: 4 / 3; }
  .scope-grid.wp-block-columns { grid-template-columns: 1fr; }
  .scope-grid > .wp-block-column { min-height: 230px; }
  .scope-grid h3 { margin-top: 44px; }
  .process-phase { grid-template-columns: 1fr; }
  .process-phase > .service-number { grid-row: auto; }
  .process-phase > h4, .process-phase > p:not(.service-number):not(.lede) { grid-column: 1; }
  .process-field-image { min-height: 680px; }
  .process-field-image .wp-block-cover__image-background { object-position: 45% 30%; }
  .process-field-image .wp-block-cover__inner-container { width: calc(100% - 28px); padding-bottom: 14px; }
  .process-field-note { padding: 26px 22px; }
  .project-story-gallery { grid-template-columns: 1fr; }
  .project-story-gallery figure:first-child { grid-column: auto; }
  .project-story-gallery img, .project-story-gallery figure:first-child img { min-height: 360px; }
  .form-grid { grid-template-columns: 1fr; }
  .contact-ready dl div { grid-template-columns: 90px 1fr; }
  .article-page { padding-top: 40px; }
  .article-header .breadcrumbs, .notes-hero .breadcrumbs, .projects-hero .breadcrumbs { margin-bottom: 50px; }
  .pricing-tier-grid { grid-template-columns: 1fr; }
  .pricing-driver-grid ul { grid-template-columns: 1fr; }
  .pricing-barndo { padding: 28px 22px; }
  .rrb-pathfinder-card, .rrb-contact-panel, .rrb-estimator-card { padding: 28px 20px; }
  .rrb-estimator-frame { min-height: 760px; }
  .estimator-canvas .rrb-estimator-frame { width: 100%; min-height: 620px; }
  .estimator-canvas .rrb-estimator-card { width: calc(100% - 28px); margin: 40px auto; }
}

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

@media print {
  .rrb-contact-bar, .site-header, .site-footer, .conversion-band, .button-row, .hero-scroll { display: none !important; }
  body { color: #000; background: #fff; }
  .section { padding: 32px 0; }
}
