:root {
  --qfcb-ink: #243325;
  --qfcb-deep: #0d2418;
  --qfcb-evergreen: #233f2b;
  --qfcb-moss: #839b73;
  --qfcb-cream: #f8eee0;
  --qfcb-sand: #e6cfad;
  --qfcb-gold: #edc28a;
  --qfcb-red-gold: #a94e28;
  --qfcb-line: rgba(75, 54, 32, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: linear-gradient(180deg, #fbf2e5 0%, var(--qfcb-cream) 100%); color: var(--qfcb-ink); overflow-x: hidden; }
a { text-underline-offset: .2em; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--qfcb-gold); outline-offset: 4px; }
.wp-site-blocks { overflow: hidden; }
/*
 * Keep the template's Page container out of WordPress's content-column
 * layout. The readable measure is applied inside each visual section instead.
 * These selectors also keep pages made before align="full" was added wide.
 */
.qfcb-page-main,
.qfcb-page-main > .wp-block-post-content {
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
.qfcb-page-main > .wp-block-post-content > .qfcb-hero,
.qfcb-page-main > .wp-block-post-content > .qfcb-section,
.qfcb-page-main > .wp-block-post-content > .qfcb-dark-band,
.qfcb-page-main > .wp-block-post-content > .qfcb-feature,
.wp-block-post-content.is-layout-constrained > .wp-block-cover.qfcb-hero,
.wp-block-post-content.is-layout-constrained > .wp-block-group.qfcb-section,
.wp-block-post-content.is-layout-constrained > .wp-block-group.qfcb-dark-band,
.wp-block-post-content.is-layout-constrained > .wp-block-columns.qfcb-feature,
.wp-block-template-part > .qfcb-topline,
.wp-block-template-part > .qfcb-site-header,
.wp-block-template-part > .qfcb-footer,
.wp-site-blocks > .qfcb-topline,
.wp-site-blocks > .qfcb-site-header,
.wp-site-blocks > .qfcb-footer {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
  width: 100vw !important;
}

/* The Site Editor uses a different wrapper than the live site. Keep the
 * editable preview broad there too, even for pages created before the full
 * width alignment attributes were added. */
.editor-styles-wrapper .wp-block-cover.qfcb-hero,
.editor-styles-wrapper .wp-block-group.qfcb-section,
.editor-styles-wrapper .wp-block-group.qfcb-dark-band,
.editor-styles-wrapper .wp-block-columns.qfcb-feature {
  max-width: none !important;
  width: 100% !important;
}

/* Shared header and footer. These remain editable in Appearance → Editor. */
.qfcb-topline { background: var(--qfcb-deep); color: #e8e4da; }
.qfcb-topline > .qfcb-topline-copy { margin: 0 auto; max-width: 1240px; min-height: 36px; padding: 10px 32px; color: inherit; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.qfcb-site-header { background: rgba(248, 238, 224, .97); border-bottom: 1px solid var(--qfcb-line); }
.qfcb-header-inner { align-items: center; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1240px; min-height: 101px; padding: 15px 32px; }
.qfcb-brand { align-items: center; display: flex; gap: 12px; }
.qfcb-brand-mark { align-items: center; border: 2px solid var(--qfcb-red-gold); border-radius: 50%; color: var(--qfcb-red-gold); display: flex; flex: 0 0 auto; font-size: 13px; font-weight: 800; height: 52px; justify-content: center; letter-spacing: -.07em; line-height: 1; margin: 0; width: 52px; }
.qfcb-site-logo { flex: 0 0 auto; line-height: 0; margin: 0; }
.qfcb-site-logo img { display: block; height: auto; max-height: 52px; max-width: 160px; width: auto; }
.qfcb-brand:has(.qfcb-site-logo img) .qfcb-brand-mark { display: none; }
.qfcb-brand-copy { display: grid; gap: 3px; }
.qfcb-brand-name, .qfcb-brand-name a { color: var(--qfcb-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.35rem, 2vw, 1.76rem); font-weight: 400; letter-spacing: -.06em; line-height: .92; margin: 0; text-decoration: none; }
.qfcb-brand-subtitle { color: var(--qfcb-red-gold); font-size: 8px; font-weight: 800; letter-spacing: .155em; line-height: 1.1; margin: 0; }
.qfcb-navigation { color: var(--qfcb-ink); font-size: 11px; font-weight: 700; letter-spacing: .035em; }
.qfcb-navigation .wp-block-navigation-item__content { padding: .45rem 0; }
.qfcb-navigation .wp-block-navigation-item__content:hover, .qfcb-navigation .current-menu-item > .wp-block-navigation-item__content { color: var(--qfcb-red-gold); }
.qfcb-navigation .wp-block-navigation__responsive-container-open { color: var(--qfcb-red-gold); }
.qfcb-footer { background: var(--qfcb-deep); color: rgba(255,255,255,.72); margin-top: 0; }
.qfcb-footer-inner { align-items: center; display: flex; gap: 20px; justify-content: space-between; margin: 0 auto; max-width: 1240px; min-height: 130px; padding: 34px 32px; }
.qfcb-footer-brand { color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .13em; margin: 0; text-transform: uppercase; }
.qfcb-footer-copy { font-size: 11px; margin: 0; }

/* Page body blocks. All of these are editable on the corresponding Page. */
.qfcb-page-main > .wp-block-post-content > * { margin-block-start: 0; }
.qfcb-hero { align-items: stretch; color: #fff; display: flex; min-height: 640px; overflow: hidden; position: relative; }
/* Core's `.has-background-dim` class supplies an opaque black background.
 * Use only the transparent-to-evergreen gradient here so the actual project
 * photo remains visible behind the readable hero copy. */
.wp-block-cover.qfcb-hero .wp-block-cover__background.has-background-dim {
  background-color: transparent !important;
  background-image: linear-gradient(90deg, rgba(13,36,24,.9) 0%, rgba(13,36,24,.6) 50%, rgba(13,36,24,.18) 100%) !important;
  opacity: 1 !important;
}
.qfcb-hero .wp-block-cover__inner-container { align-self: stretch; display: flex; flex-direction: column; justify-content: center; margin: 0 auto; max-width: 1240px; padding: 100px 32px 78px; position: relative; width: 100%; }
.qfcb-hero .wp-block-cover__inner-container > * { max-width: 800px; }
.qfcb-eyebrow { align-items: center; color: var(--qfcb-moss); display: flex; font-size: 10px; font-weight: 800; gap: 10px; letter-spacing: .16em; margin: 0 0 22px; text-transform: uppercase; }
.qfcb-eyebrow::before { background: currentColor; content: ''; height: 1px; width: 24px; }
.qfcb-hero .qfcb-eyebrow { color: #dce0cc; }
.qfcb-hero h1 { color: #fff; font-size: clamp(3.65rem, 7.8vw, 7rem); letter-spacing: -.075em; line-height: .9; margin: 0; }
.qfcb-hero .qfcb-hero-copy { color: rgba(255,255,255,.87); font-size: 1.05rem; line-height: 1.6; margin: 37px 0 0; max-width: 480px; }
.qfcb-hero .wp-block-buttons { margin-top: 29px; }
.qfcb-hero .wp-block-button__link { background: #fff; border: 1px solid #fff; color: var(--qfcb-deep); }
.qfcb-hero .wp-block-button__link:hover { background: transparent; color: #fff; }
.qfcb-section { margin: 0; padding: 110px max(32px, calc((100vw - 1240px) / 2)); }
.qfcb-section > * { max-width: 1240px; }
.qfcb-section h2 { font-size: clamp(2.7rem, 5vw, 4.7rem); letter-spacing: -.065em; margin: 0; }
.qfcb-section h3 { font-size: clamp(1.55rem, 2.7vw, 2.2rem); letter-spacing: -.055em; margin: 0; }
.qfcb-section > p, .qfcb-section .qfcb-body-copy { color: #536057; font-size: 1.04rem; line-height: 1.7; }
.qfcb-intro-columns { align-items: end; gap: clamp(36px, 8vw, 94px); margin-top: 0; }
.qfcb-intro-columns > .wp-block-column > p { color: #536057; font-size: 1.04rem; line-height: 1.72; margin: 0; }
.qfcb-values { border-bottom: 1px solid var(--qfcb-line); border-top: 1px solid var(--qfcb-line); gap: 0; margin-top: 80px; }
.qfcb-values > .wp-block-column { border-left: 1px solid var(--qfcb-line); padding: 8px 22px; }
.qfcb-values > .wp-block-column:first-child { border-left: 0; padding-left: 0; }
.qfcb-values h3 { font-size: 1.65rem; }
.qfcb-values p { color: #657069; font-size: 10px; font-weight: 700; letter-spacing: .09em; margin: 0; text-transform: uppercase; }
.qfcb-dark-band { background: var(--qfcb-deep); color: #f8f6ef; padding: 108px max(32px, calc((100vw - 1240px) / 2)); }
.qfcb-dark-band h2, .qfcb-dark-band h3 { color: #fff; }
.qfcb-dark-band .qfcb-eyebrow { color: #d9dec5; }
.qfcb-dark-band p { color: rgba(255,255,255,.72); }
.qfcb-section-header { align-items: end; display: flex; gap: 35px; justify-content: space-between; }
.qfcb-section-header > p { max-width: 370px; }
.qfcb-service-grid { gap: 1px; margin-top: 58px; }
.qfcb-service-grid > .wp-block-column { display: flex; flex-basis: 0; flex-grow: 1; }
.qfcb-service-card { background: #21382b; display: flex; min-height: 340px; padding: 25px; position: relative; width: 100%; }
.qfcb-service-card h3 { color: #fff; font-size: 2rem; margin-top: 22px; }
.qfcb-service-card p { color: #d8e0ca; font-size: 10px; font-weight: 800; letter-spacing: .12em; margin: 0; text-transform: uppercase; }
.qfcb-service-card .wp-block-buttons { align-self: flex-end; margin-top: auto; }
.qfcb-service-card .wp-block-button__link { background: transparent; border-bottom: 1px solid #fff; color: #fff; padding: 0 0 7px; }
.qfcb-service-card .wp-block-button__link:hover { color: var(--qfcb-gold); border-color: var(--qfcb-gold); }
.qfcb-service-card--light { background: var(--qfcb-evergreen); }
.qfcb-service-card--clay { background: var(--qfcb-red-gold); }
.qfcb-action-row { align-items: end; border-top: 1px solid rgba(255,255,255,.22); display: flex; gap: 30px; justify-content: space-between; margin-top: 24px; padding-top: 24px; }
.qfcb-action-row p { margin: 0; max-width: 540px; }
.qfcb-action-row .wp-block-button__link { background: transparent; border-bottom: 1px solid #fff; color: #fff; padding: 0 0 7px; }
.qfcb-photo-row { gap: 20px; margin-top: 45px; }
.qfcb-photo-row .wp-block-column { overflow: hidden; }
.qfcb-photo-row img { aspect-ratio: 4 / 3; display: block; object-fit: cover; width: 100%; }
.qfcb-photo-caption { color: #68736b; font-size: 10px; font-weight: 700; letter-spacing: .09em; margin: 11px 0 0; text-transform: uppercase; }
.qfcb-feature { align-items: stretch; background: var(--qfcb-evergreen); color: #fff; display: flex; gap: 0; margin: 0; }
.qfcb-feature > .wp-block-column { display: flex; flex-basis: 50%; flex-grow: 1; }
.qfcb-feature .wp-block-image { margin: 0; width: 100%; }
.qfcb-feature .wp-block-image img { height: 100%; min-height: 540px; object-fit: cover; width: 100%; }
.qfcb-feature-copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; padding: 80px clamp(32px, 7vw, 100px); }
.qfcb-feature-copy h2 { color: #fff; font-size: clamp(2.7rem, 4.6vw, 4.2rem); margin: 0; }
.qfcb-feature-copy p { color: rgba(255,255,255,.75); line-height: 1.7; max-width: 470px; }
.qfcb-feature-copy .qfcb-eyebrow { color: #d9dec5; }
.qfcb-feature-copy .wp-block-button__link { background: #fff; color: var(--qfcb-deep); }
.qfcb-feature-copy .wp-block-button__link:hover { background: var(--qfcb-gold); }
.qfcb-quote-section { padding-bottom: 115px; padding-top: 115px; text-align: center; }
.qfcb-quote-section blockquote { border: 0; color: var(--qfcb-ink); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3.75rem); letter-spacing: -.06em; line-height: 1.05; margin: 0 auto; max-width: 980px; }
.qfcb-quote-section cite { color: var(--qfcb-red-gold); display: block; font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .12em; margin-top: 22px; text-transform: uppercase; }
.qfcb-service-intro { background: #f5e6d0; }
.qfcb-service-intro .wp-block-column > p { color: #4e5c54; font-size: 1.04rem; line-height: 1.72; }
.qfcb-checklist { margin: 24px 0 0; padding-left: 1.25rem; }
.qfcb-checklist li { margin-bottom: .65rem; }
.qfcb-expectations { background: #f7f0e4; }
.qfcb-expectations h2 { font-size: clamp(2.4rem, 4vw, 3.8rem); }
.qfcb-approach-steps { counter-reset: qfcb-step; list-style: none; margin: 42px 0 0; padding: 0; }
.qfcb-approach-steps li { border-top: 1px solid rgba(255,255,255,.26); display: grid; gap: 20px; grid-template-columns: 50px 1fr; padding: 25px 0; }
.qfcb-approach-steps li::before { color: #d9dec5; content: '0' counter(qfcb-step); counter-increment: qfcb-step; font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.qfcb-approach-steps li:last-child { border-bottom: 1px solid rgba(255,255,255,.26); }
.qfcb-approach-steps h3 { font-size: 1.8rem; }
.qfcb-approach-steps p { margin: 7px 0 0; }
.qfcb-service-note { background: #f6e7cf; border-left: 3px solid var(--qfcb-red-gold); margin-top: 28px; padding: 22px; }
.qfcb-service-note p { color: var(--qfcb-ink); font-size: .94rem; margin: 0; }
.qfcb-work-card { background: #fff9f0; overflow: hidden; }
.qfcb-work-card .wp-block-image { margin: 0; }
.qfcb-work-card img { aspect-ratio: 4 / 3; display: block; object-fit: cover; width: 100%; }
.qfcb-work-card h3 { font-size: 1.85rem; margin: 20px 22px 7px; }
.qfcb-work-card p { color: var(--qfcb-red-gold); font-size: 10px; font-weight: 800; letter-spacing: .1em; margin: 0 22px 24px; text-transform: uppercase; }
.qfcb-contact-grid { align-items: stretch; gap: 54px; }
.qfcb-contact-card { background: var(--qfcb-deep); color: #fff; padding: clamp(30px, 4vw, 54px); }
.qfcb-contact-card h2 { color: #fff; font-size: clamp(2.6rem, 4vw, 4rem); }
.qfcb-contact-card p { color: rgba(255,255,255,.75); }
.qfcb-contact-card .qfcb-eyebrow { color: #d9dec5; }
.qfcb-contact-card .wp-block-button__link { background: transparent; border: 1px solid rgba(255,255,255,.72); color: #fff; width: 100%; }
.qfcb-contact-card .wp-block-button__link:hover { background: #fff; color: var(--qfcb-deep); }
.qfcb-form-note { background: #fff8ed; border: 1px dashed var(--qfcb-red-gold); padding: 28px; }
.qfcb-form-note h3 { font-size: 1.6rem; }
.qfcb-form-note p { color: #516057; }
.qfcb-not-found { margin: 0 auto; max-width: 760px; padding: 120px 32px; }

@media (max-width: 860px) {
  .qfcb-header-inner { min-height: 86px; padding: 12px 22px; }
  .qfcb-topline > .qfcb-topline-copy { padding-left: 22px; padding-right: 22px; }
  .qfcb-brand-mark { height: 44px; width: 44px; }
  .qfcb-site-logo img { max-height: 44px; }
  .qfcb-navigation { font-size: 10px; }
  .qfcb-hero { min-height: 580px; }
  .qfcb-hero .wp-block-cover__inner-container { padding: 78px 22px 66px; }
  .qfcb-section, .qfcb-dark-band { padding: 76px 22px; }
  .qfcb-section-header, .qfcb-action-row { align-items: flex-start; flex-direction: column; }
  .qfcb-values { gap: 0; }
  .qfcb-values > .wp-block-column { border-left: 0; border-top: 1px solid var(--qfcb-line); padding: 18px 0; }
  .qfcb-values > .wp-block-column:first-child { border-top: 0; padding-left: 0; }
  .qfcb-feature .wp-block-image img { min-height: 350px; }
  .qfcb-feature-copy { padding: 60px 28px; }
  .qfcb-footer-inner { align-items: flex-start; flex-direction: column; padding: 32px 22px; }
}

@media (max-width: 600px) {
  .qfcb-header-inner { gap: 12px; }
  .qfcb-brand-name, .qfcb-brand-name a { font-size: 1.18rem; }
  .qfcb-brand-subtitle { font-size: 7px; }
  .qfcb-hero h1 { font-size: clamp(3.1rem, 15vw, 4.45rem); }
  .qfcb-hero .qfcb-hero-copy { font-size: 1rem; }
  .qfcb-service-card { min-height: 255px; }
  .qfcb-feature > .wp-block-column { flex-basis: 100%; }
  .qfcb-feature .wp-block-image img { min-height: 290px; }
  .qfcb-photo-row { gap: 15px; }
  .qfcb-contact-grid { gap: 25px; }
}
