/* Ruizz Photography sitewide header + footer for the WordPress pages. GENERATED by website/build.py --live from
   src/app.css (rules for .topbar .hdr .chip .mmenu .pill .ftr, scoped under .rzc). Do not edit; edit app.css. */
.rzc {
  --canvas: #FDFCFA; --cream: #F9ECDF; --sand: #F3E7DC; --tan: #E1C9B3; --brown: #8A6953;
  --grey: #5F5C5C; --ink: #1D1D1D; --white: #fff;
  --f-display: "Playfair Display SC", "Playfair Display", Georgia, serif;
  --f-ui: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --f-body: "Lato", "Helvetica Neue", Arial, sans-serif;
  --r: 20px; --gut: 8px; --topbar: 40px;
  --e-sig: cubic-bezier(.4, 0, .2, 1); --e-emph: cubic-bezier(.05, .7, .1, 1); --e-accel: cubic-bezier(.3, 0, 1, 1);
  --t-quick: 350ms; --t-std: 500ms; --t-slow: 800ms;
  font: 400 17px/1.6 var(--f-body); color: var(--ink); -webkit-font-smoothing: antialiased; text-align: left;
}
@media (max-width: 700px) { .rzc { --topbar: 38px; --gut: 6px; --r: 18px; } }
.rzc, .rzc *, .rzc *::before, .rzc *::after { box-sizing: border-box; }
.rzc img { display: block; max-width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }
.rzc img[style*="--lq"] { background-image: var(--lq); background-size: cover; background-repeat: no-repeat; background-position: var(--pd, 50% 50%); }
.rzc a { color: inherit; box-shadow: none; }
.rzc a:hover, .rzc a:focus { color: inherit; }
.rzc button { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; box-shadow: none; text-transform: none; letter-spacing: normal; line-height: inherit; min-height: 0; }
.rzc button:hover, .rzc button:focus { background: none; color: inherit; }
.rzc h1, .rzc h2, .rzc h3, .rzc p, .rzc figure, .rzc ul, .rzc ol, .rzc li { margin: 0; padding: 0; }
.rzc ul, .rzc ol { list-style: none; }
.rzc h3 { font-family: var(--f-ui); color: var(--ink); text-transform: none; }
.rzc :focus-visible { outline: 2px solid var(--brown); outline-offset: 3px; border-radius: 6px; }
.rzc .pill {display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 0 22px;
  border-radius: 999px; font: 600 14px/1 var(--f-ui); letter-spacing: .01em; text-decoration: none; white-space: nowrap;
  transition: background-color var(--t-quick) var(--e-sig), color var(--t-quick) var(--e-sig), transform 150ms var(--e-sig);}
.rzc .pill:active {transform: scale(.97);}
.rzc .pill-brown {background: var(--brown); color: #fff;}
.rzc .pill-brown:hover {background: #7a5c48;}
.rzc .pill-cream {background: var(--canvas); color: var(--ink);}
.rzc .pill-cream:hover {background: #fff;}
.rzc .ic-arrow {width: 18px; height: 18px; flex: none;}
.rzc .topbar {position: fixed; top: 0; left: 0; right: 0; height: var(--topbar); z-index: 81; background: var(--brown); color: #fff;
  display: flex; align-items: center; justify-content: center; padding: 0 12px;
  transition: transform var(--t-quick) var(--e-sig);}
.rzc .topbar p {display: flex; align-items: center; gap: 14px; font: 500 13px/1 var(--f-ui); letter-spacing: .02em; white-space: nowrap;}
.rzc .topbar-chip {background: var(--canvas); color: var(--brown); text-decoration: none; border-radius: 999px; padding: 7px 13px; font-weight: 600; font-size: 12px;
  position: relative;}
.rzc .topbar-chip::after {content: ""; position: absolute; inset: -8px -4px;}
.is-scrolled .rzc .topbar {transform: translateY(-100%);}
.rzc .hdr {position: fixed; left: 0; right: 0; top: var(--topbar); z-index: 80; padding: 0 var(--gut); transition: top var(--t-quick) var(--e-sig), transform var(--t-quick) var(--e-emph);}
.rzc .hdr-in {margin: 0 auto; max-width: 100%; height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 0 22px; border-radius: 18px; color: #fff; background: rgba(253, 252, 250, 0); border: 1px solid rgba(29, 29, 29, 0);
  transition: max-width var(--t-quick) var(--e-sig), height var(--t-quick) var(--e-sig), background-color var(--t-quick) var(--e-sig),
    color var(--t-quick) var(--e-sig), box-shadow var(--t-quick) var(--e-sig), border-color var(--t-quick) var(--e-sig);}
.is-scrolled .rzc .hdr {top: 8px;}
.is-scrolled .rzc .hdr-in {max-width: 1180px; height: 62px; color: var(--ink); background: rgba(253, 252, 250, .78);
  -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  border-color: rgba(29, 29, 29, .07); box-shadow: 0 10px 30px -12px rgba(60, 40, 25, .22);}
.rzc .hdr.is-hidden {transform: translateY(calc(-100% - 60px)); transition: top var(--t-quick) var(--e-sig), transform 245ms var(--e-accel);}
.rzc .hdr-nav ul {display: flex; gap: 2px;}
.rzc .chip {display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; text-decoration: none;
  font: 500 14px/1 var(--f-ui); letter-spacing: .01em; transition: background-color var(--t-quick) var(--e-sig);}
.rzc .chip:hover {background: rgba(255, 255, 255, .16);}
.rzc .chip.is-on {background: rgba(255, 255, 255, .18);}
.is-scrolled .rzc .chip:hover {background: rgba(29, 29, 29, .05);}
.is-scrolled .rzc .chip.is-on {background: var(--sand);}
.rzc .hdr-logo {position: relative; display: block; width: 196px; height: 47px; transition: width var(--t-quick) var(--e-sig), height var(--t-quick) var(--e-sig);}
.rzc .hdr-logo img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity var(--t-quick) var(--e-sig);}
.rzc .hdr-logo .lg-d {opacity: 0;}
.is-scrolled .rzc .hdr-logo {width: 160px; height: 38px;}
.is-scrolled .rzc .hdr-logo .lg-d {opacity: 1;}
.is-scrolled .rzc .hdr-logo .lg-w {opacity: 0;}
.rzc .hdr-right {display: flex; justify-content: flex-end; align-items: center; gap: 8px;}
.rzc .hdr-link {font: 500 14px/1 var(--f-ui); text-decoration: none; padding: 13px 14px; border-radius: 999px;}
.rzc .hdr-link:hover {background: rgba(255, 255, 255, .16);}
.is-scrolled .rzc .hdr-link:hover {background: rgba(29, 29, 29, .05);}
.rzc .hdr-book {min-height: 44px;}
.rzc .hdr-book .short {display: none;}
.rzc .hdr-menu {display: none;}
.rzc .mmenu {position: fixed; inset: 0; z-index: 79; background: var(--canvas); padding: 112px 28px 40px; display: flex; flex-direction: column; justify-content: space-between;}
.rzc .mmenu[hidden] {display: none;}
.rzc .mmenu ul {display: grid; gap: 4px;}
.rzc .mmenu li a {display: block; font: 400 44px/1.15 var(--f-display); letter-spacing: -.02em; text-decoration: none; padding: 6px 0;}
.rzc .mmenu-foot {display: grid; gap: 16px; justify-items: start; font: 500 14px var(--f-ui); color: var(--grey);}
.rzc .mmenu-foot p a {text-decoration: none;}
.rzc .mmenu li, .rzc .mmenu-foot {opacity: 0; transform: translateY(20px); transition: opacity 400ms var(--e-sig), transform 400ms var(--e-sig); transition-delay: calc(var(--i) * 56ms);}
.rzc .mmenu.is-open li, .rzc .mmenu.is-open .mmenu-foot {opacity: 1; transform: none;}
.menu-open .rzc .hdr-in {color: var(--ink);}
.menu-open .rzc .hdr-logo .lg-d {opacity: 1;}
.menu-open .rzc .hdr-logo .lg-w {opacity: 0;}
.rzc .ftr {background: var(--canvas); border-top: 1px solid rgba(29, 29, 29, .08);}
.rzc .ftr-main {max-width: 1360px; margin: 0 auto; padding: calc(var(--vh, 1vh) * 11) 48px calc(var(--vh, 1vh) * 9); display: grid; grid-template-columns: 1fr 1.25fr; gap: 6vw;}
.rzc .ftr-brand {display: grid; gap: 28px; justify-items: start; align-content: start;}
.rzc .ftr-line {font: 400 clamp(40px, 4.2vw, 66px)/1.02 var(--f-display); letter-spacing: -.025em; max-width: 9.5em;}
.rzc .ftr-contact {font: 500 14px/1.6 var(--f-ui); color: var(--grey);}
.rzc .ftr-contact a {text-decoration: none; white-space: nowrap;}
.rzc .ftr-contact a:hover {color: var(--ink); text-decoration: underline;}
.rzc .ftr-cols {display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; align-content: start; padding-top: 10px;}
.rzc .ftr-col h3 {font: 600 13px/1 var(--f-ui); letter-spacing: .02em; margin-bottom: 14px;}
.rzc .ftr-col ul {display: grid; gap: 2px;}
.rzc .ftr-col a, .rzc .ftr-hours {display: inline-block; font: 400 15px/1.4 var(--f-body); color: var(--grey); text-decoration: none; padding: 5px 0;}
.rzc .ftr-col a:hover {color: var(--ink); text-decoration: underline; text-underline-offset: 3px;}
.rzc .ftr-hours {color: #7c7877; font-size: 14px;}
.rzc .ftr-band {position: relative; height: min(calc(var(--vh, 1vh) * 100), 66.667vw); min-height: 420px; overflow: hidden; background: var(--canvas);}
.rzc .ftr-img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pd, 50% 20%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .4) 9%, #000 22%);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .4) 9%, #000 22%);}
.rzc .ftr-band::after {content: ""; position: absolute; inset: auto 0 0; height: 40%; background: linear-gradient(0deg, rgba(24, 16, 10, .45), rgba(24, 16, 10, 0)); pointer-events: none;}
.rzc .ftr-legal {position: absolute; z-index: 1; left: 0; right: 0; bottom: 20px; text-align: center; color: #fff; font: 500 12px/1.5 var(--f-ui); letter-spacing: .04em; padding: 0 24px;}
.rzc .ftr-photo, .rzc .ftr-legal-d {display: none;}
@media (min-width: 901px) {
  .rzc .ftr {position: relative; overflow: hidden; min-height: min(calc(var(--vh, calc(var(--vh, 1vh) * 1)) * 92), 46vw, 860px); display: flex; flex-direction: column;}
  .rzc .ftr-main {position: relative; z-index: 1; width: 100%; grid-template-columns: 1fr; gap: 52px; padding: clamp(64px, 7vw, 104px) 48px 40px;}
  .rzc .ftr-brand, .rzc .ftr-cols {max-width: min(660px, 47vw);}
  .rzc .ftr-cols {grid-template-columns: repeat(4, max-content); gap: 22px clamp(28px, 3vw, 48px);}
  .rzc .ftr-photo {display: block; position: absolute; right: 0; bottom: 0; width: min(68vw, 1300px); aspect-ratio: 3 / 2; pointer-events: none;}
  .rzc .ftr-pimg {width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .18) 16%, rgba(0, 0, 0, .7) 34%, #000 48%), linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .55) 12%, #000 26%);
    -webkit-mask-composite: source-in;
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .18) 16%, rgba(0, 0, 0, .7) 34%, #000 48%), linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .55) 12%, #000 26%);
    mask-composite: intersect;}
  .rzc .ftr::before {content: ""; position: absolute; z-index: 1; inset: 0 auto 0 0; width: min(62vw, 980px); pointer-events: none;
    background: linear-gradient(90deg, rgba(253, 252, 250, .92) 0%, rgba(253, 252, 250, .78) 55%, rgba(253, 252, 250, 0) 100%);}
  .rzc .ftr-legal-d {display: block; position: relative; z-index: 1; margin-top: auto; padding: 0 48px 28px; max-width: 1360px; width: 100%; margin-left: auto; margin-right: auto; text-align: left; color: var(--grey); font: 500 12px/1.5 var(--f-ui); letter-spacing: .04em;}
  .rzc .ftr-band {display: none;}
}
@media (min-width: 901px) and (max-width: 1180px) {
  .rzc .ftr-cols {grid-template-columns: repeat(2, max-content);}
  .rzc .ftr-photo {width: 74vw;}
}
.rzc .ftr-credit {color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: currentColor;}
.rzc .ftr-credit:hover {text-decoration-thickness: 2px;}
.rzc .ftr-legal-d .ftr-credit:hover {color: var(--ink);}
.rzc .msg .pill {margin-top: 10px; min-height: 40px; font-size: 13px; padding: 0 16px;}
@media (max-width: 1100px) {
  .rzc .hdr-nav .chip {padding: 0 10px;}
  .rzc .hdr-link {display: none;}
  .rzc .ftr-main {grid-template-columns: 1fr;}
}
@media (max-width: 900px) and (min-width: 701px) {
  .rzc .hdr-nav {display: none;}
  .rzc .hdr-in {grid-template-columns: auto 1fr;}
  .rzc .hdr-logo {order: -1;}
  .rzc .hdr-menu {display: inline-grid;}
}
@media (max-width: 700px) {
  .rzc .topbar p {gap: 10px; font-size: 12px;}
  .rzc .topbar-chip {padding: 6px 11px;}
  .rzc .hdr-in {height: 64px; padding: 0 6px 0 14px; grid-template-columns: auto 1fr;}
  .rzc .hdr-nav {display: none;}
  .rzc .hdr-logo {width: 150px; height: 36px;}
  .is-scrolled .rzc .hdr-logo {width: 132px; height: 32px;}
  .is-scrolled .rzc .hdr-in {height: 58px;}
  .rzc .hdr-book {min-height: 44px; padding: 0 16px;}
  .rzc .hdr-book .long {display: none;}
  .rzc .hdr-book .short {display: inline;}
  .rzc .hdr-menu {display: inline-grid; place-content: center; gap: 6px; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; padding: 0;}
  .rzc .hdr-menu span {display: block; width: 22px; height: 1.6px; background: currentColor; border-radius: 2px; transition: transform var(--t-quick) var(--e-sig);}
  .menu-open .rzc .hdr-menu span:first-child {transform: translateY(3.8px) rotate(45deg);}
  .menu-open .rzc .hdr-menu span:last-child {transform: translateY(-3.8px) rotate(-45deg);}
  .rzc .ftr-main {padding: calc(var(--vh, 1vh) * 9) 22px calc(var(--vh, 1vh) * 7); gap: 48px;}
  .rzc .ftr-cols {grid-template-columns: 1fr 1fr; gap: 28px 18px;}
  .rzc .ftr-band {height: calc(var(--vh, 1vh) * 78); min-height: 520px;}
  .rzc .ftr-img {object-position: var(--pm, 62% 0%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .4) 7%, #000 16%);
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .4) 7%, #000 16%);}
  .rzc .ftr-legal {bottom: 84px; font-size: 11px;}
}
@media (prefers-reduced-motion: reduce) {
  .rzc .hdr, .rzc .hdr-in, .rzc .topbar, .rzc .hdr-logo, .rzc .hdr-logo img {transition-property: opacity, background-color, color, border-color, box-shadow !important; transition-duration: 250ms !important;}
  .rzc .hdr.is-hidden {transform: none;}
  .is-scrolled .rzc .topbar {transform: none; opacity: 0; pointer-events: none;}
  .rzc .mmenu li, .rzc .mmenu-foot {transform: none; transition: opacity 250ms linear;}
}

/* ================================================================================================================
   Inner WordPress pages, brought in line with the new homepage (2026-10-19). Appended to wp.css by build.py.
   A light layer only: her Elementor layouts stay as they are; this changes the type, the buttons, the forms, the
   background and the spacing under the fixed header. Elementor's own per-element styles still win where set.
   ================================================================================================================ */

/* the header is always the frosted cream pill on inner pages (their tops are not photos) */
html.rz-wp .rzc .hdr { top: calc(var(--topbar) + 8px); }
html.rz-wp.is-scrolled .rzc .hdr { top: 8px; }
html.rz-wp .rzc .hdr-in {
  max-width: 1180px; height: 62px; color: var(--ink); background: rgba(253, 252, 250, .86);
  -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  border-color: rgba(29, 29, 29, .07); box-shadow: 0 10px 30px -12px rgba(60, 40, 25, .22);
}
html.rz-wp .rzc .hdr-logo { width: 160px; height: 38px; }
html.rz-wp .rzc .hdr-logo .lg-d { opacity: 1; }
html.rz-wp .rzc .hdr-logo .lg-w { opacity: 0; }
html.rz-wp .rzc .chip:hover, html.rz-wp .rzc .hdr-link:hover { background: rgba(29, 29, 29, .05); }
html.rz-wp .rzc .chip.is-on { background: var(--sand); }
@media (max-width: 700px) {
  html.rz-wp .rzc .hdr { top: calc(var(--topbar) + 6px); }
  html.rz-wp.is-scrolled .rzc .hdr { top: 6px; }
  html.rz-wp .rzc .hdr-in { height: 58px; }
  html.rz-wp .rzc .hdr-logo { width: 132px; height: 32px; }
}
/* room for the fixed top bar + header */
body.rz-site { padding-top: 126px; background: #FDFCFA; }
@media (max-width: 700px) { body.rz-site { padding-top: 112px; } }
body.rz-site.admin-bar .rzc .topbar { top: 32px; }
body.rz-site.admin-bar .rzc .hdr { margin-top: 32px; }
@media (max-width: 782px) { body.rz-site.admin-bar .rzc .topbar { top: 46px; } body.rz-site.admin-bar .rzc .hdr { margin-top: 46px; } }

/* ---------- type: Playfair Display SC for display headings (was Lora), Lato body, Montserrat UI */
body.rz-site.elementor-kit-1458 {
  --e-global-typography-primary-font-family: "Playfair Display SC";
  --e-global-typography-primary-font-weight: 400;
  --e-global-typography-primary-letter-spacing: -0.01em;
  --e-global-typography-accent-font-family: "Playfair Display SC";
  --e-global-typography-accent-font-weight: 400;
  --e-global-color-text: #5F5C5C;
  --e-global-color-accent: #8A6953;
}
body.rz-site, body.rz-site #page, body.rz-site .site-content, body.rz-site .ast-container { background-color: #FDFCFA; }
body.rz-site h1.elementor-heading-title, body.rz-site h2.elementor-heading-title { letter-spacing: -0.01em; }
body.rz-site .elementor-widget-text-editor a, body.rz-site .entry-content p a { color: #8A6953; text-underline-offset: 3px; }

/* ---------- buttons: the homepage's rounded pill (brown, Montserrat 600) */
body.rz-site .elementor-button,
body.rz-site .elementor-button-link,
body.rz-site .metform-btn,
body.rz-site .mf-btn-wraper button,
body.rz-site .wpforms-submit,
body.rz-site .ekit-wid-con .elementskit-btn {
  border-radius: 999px !important;
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 600 !important; letter-spacing: .01em !important; text-transform: none !important;
  transition: background-color 350ms cubic-bezier(.4, 0, .2, 1), color 350ms cubic-bezier(.4, 0, .2, 1), transform 150ms cubic-bezier(.4, 0, .2, 1);
}
body.rz-site .elementor-button:active, body.rz-site .metform-btn:active { transform: scale(.97); }
/* her form's black "BOOK NOW" and the tan "Services" buttons become the brand brown */
body.rz-site .metform-btn, body.rz-site .mf-btn-wraper button,
body.rz-site .elementor-button[style*="000"], body.rz-site .elementor-widget-button .elementor-button {
  background-color: #8A6953 !important; color: #fff !important; border-color: #8A6953 !important;
}
body.rz-site .metform-btn:hover, body.rz-site .mf-btn-wraper button:hover,
body.rz-site .elementor-widget-button .elementor-button:hover { background-color: #7a5c48 !important; }
body.rz-site .metform-btn, body.rz-site .mf-btn-wraper button { min-height: 50px; padding: 0 28px !important; }

/* ---------- forms: softer fields like the homepage */
body.rz-site .mf-input, body.rz-site .metform-form-content input[type="text"], body.rz-site .metform-form-content input[type="email"],
body.rz-site .metform-form-content input[type="tel"], body.rz-site .metform-form-content textarea, body.rz-site .metform-form-content select {
  border-radius: 12px !important; border: 1px solid rgba(29, 29, 29, .12) !important; background-color: #fff !important;
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif !important;
}
body.rz-site .mf-input:focus { border-color: #8A6953 !important; box-shadow: 0 0 0 3px rgba(138, 105, 83, .15) !important; outline: 0; }

/* ---------- photos: gently rounded corners, like the homepage cards */
body.rz-site .elementor-widget-image img,
body.rz-site .e-gallery-image,
body.rz-site .elementor-gallery-item__image,
body.rz-site .elementor-image-carousel img { border-radius: 10px; }
body.rz-site .elementor-gallery-item { border-radius: 10px; overflow: hidden; }

/* ---------- the old theme header/footer and their spacing, in case a cached template still prints them */
body.rz-site #masthead, body.rz-site #colophon, body.rz-site .ehf-header #masthead, body.rz-site .ehf-footer #colophon { display: none !important; }
