.form-success { padding: 14px 16px; background: #e8f1e8; border-left: 3px solid #557052; color: #263b25; margin: 18px 0; }

@media (max-width: 1100px) {
  .header { flex-wrap: wrap; }
  .header nav { display: flex; order: 3; width: 100%; justify-content: space-between; gap: 10px; padding: 12px 0; border-top: 1px solid #ded2c9; }
  .header nav a { font-size: 12px; }
  .header-quote { margin-left: auto; }
}
.reviews-page-feedback{min-height:calc(100vh - 300px);display:flex;flex-direction:column;justify-content:center}
.reviews-page-feedback h1{font-size:clamp(3rem,5vw,5rem);letter-spacing:-.025em}

/* Let the homepage hero's blush surface run the full width of the viewport. */
.hero{max-width:none;margin:0;width:100%}

/* A continuously compacting shared header, driven by one scroll progress value. */
:root{--header-progress:0;--header-height:128px;--brand-width:142px;--brand-height:116px;--nav-gap:28px;--nav-font-size:14px;--quote-padding-y:16px;--quote-padding-x:25px}
.header{position:sticky;top:0;z-index:50;height:var(--header-height);gap:var(--nav-gap);box-shadow:0 1px 0 rgba(84,66,57,.08);transition:box-shadow .2s ease}
.brand{width:var(--brand-width);height:var(--brand-height)}
.header nav{gap:var(--nav-gap);font-size:var(--nav-font-size)}
.header-quote{padding:var(--quote-padding-y) var(--quote-padding-x)}
@media(max-width:1100px){.header{height:auto;min-height:var(--header-height)}.header nav{font-size:12px;gap:10px}.header-quote{padding:12px 19px}}
@media(max-width:550px){.header{position:relative;min-height:0}.header-quote{padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.header,.brand,.header-quote{transition:none}}

/* Tablet and phone navigation uses a compact hamburger instead of a second header row. */
.menu-toggle,.mobile-quote{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){
  .header{position:sticky;top:0;z-index:50;display:flex;flex-wrap:nowrap;height:var(--header-height);min-height:0;padding:0 5%;align-items:center}
  .header nav{position:absolute;top:100%;right:0;left:0;display:flex;order:initial;width:auto;max-height:0;padding:0 5%;overflow:hidden;visibility:hidden;opacity:0;flex-direction:column;align-items:stretch;gap:0;background:#fffdfb;border-top:0;transition:max-height .24s ease,padding .24s ease,opacity .18s ease,visibility .24s}
  .header.menu-open nav{max-height:430px;padding:12px 5% 20px;visibility:visible;opacity:1;border-top:1px solid #ded2c9;box-shadow:0 12px 18px rgba(84,66,57,.08)}
  .header nav a{padding:12px 0;font-size:14px;border-bottom:1px solid #eee4dc}
  .header nav .mobile-quote{display:flex;margin-top:16px;border:0;padding:14px 18px;align-self:flex-start}
  .header-quote{display:none}
  .menu-toggle{width:44px;height:44px;margin-left:auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #cdbfb2;background:#fffdfb;color:#544239;cursor:pointer}
  .menu-toggle>span:not(.sr-only){display:block;width:19px;height:1px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .header.menu-open .menu-toggle>span:nth-of-type(2){transform:translateY(6px) rotate(45deg)}
  .header.menu-open .menu-toggle>span:nth-of-type(3){opacity:0}
  .header.menu-open .menu-toggle>span:nth-of-type(4){transform:translateY(-6px) rotate(-45deg)}
}
@media(max-width:550px){.header{position:sticky;min-height:0}.header .brand{width:100px;height:76px}.menu-toggle{width:42px;height:42px}}
