/* DOMWebSite v7 — cohesive mother-and-daughter header integration.
   The exact customer-provided floral logo is used as a transparent asset.
   No oversize positioning, logo rectangle, or hero spacer. */
:root { --v7-cream: #fffaf7; --v7-gold: #cca76c; }
html { scroll-padding-top: 108px; }
.site-header {
  overflow: visible;
  background: linear-gradient(95deg,#fff9f6 0%,#fffdfb 55%,#fff8f5 100%);
  border-bottom: 1px solid #ecdcd4;
  isolation: auto;
}
.site-header::after, .site-header .brand::before { display: none !important; content:none !important; }
.site-header .nav-bar {
  height: 109px;
  align-items: center;
  gap: 18px;
  justify-content: space-between;
}
.site-header .brand {
  display: flex;
  flex: 0 0 345px;
  min-width: 0;
  width: 345px;
  height: 100%;
  align-self: center;
  align-items: center;
  gap: 9px;
  position: relative;
  isolation: auto;
  overflow: visible;
  padding: 0;
  white-space: normal;
  z-index: 1;
}
.site-header .brand-art.brand-original {
  display: block;
  position: static;
  flex: 0 0 107px;
  width: 107px;
  height: 105px;
  max-width: 107px;
  min-width: 107px;
  object-fit: contain;
  object-position: center;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none;
  mix-blend-mode: normal;
  opacity: 1;
  transform: none;
}
.brand-copy { display:flex; flex-direction: column; justify-content: center; gap: 3px; min-width: 0; }
.brand-copy-name {
  display: block;
  font-family: 'Great Vibes', 'Brush Script MT', 'Segoe Script', cursive;
  font-size: clamp(25px,2.0vw,30px);
  font-weight: 400;
  line-height: 1.1;
  color: #33212b;
  white-space: nowrap;
}
.brand-copy-line {
  display: block;
  color: #a46d80;
  font: 700 8px/1.3 'DM Sans', Arial, sans-serif;
  letter-spacing: .11em;
  white-space: nowrap;
}
.site-header .desktop-nav { margin-left: auto; gap: clamp(10px, 1.2vw, 18px); }
.site-header .desktop-nav a { font-size: 9px; letter-spacing: .055em; }
.site-header .nav-cta { flex-shrink: 0; padding: 13px 16px; font-size: 9px; }
/* The hero starts directly after the header: no 150-190px artificial padding. */
.hero-grid { min-height: 535px; }
.hero-content {
  padding: 40px 23px 42px 4px;
  justify-content: center;
}
.hero h1 { margin: 8px 0 17px; font-size: clamp(55px, 4.95vw, 74px); }
.hero .eyebrow { margin-bottom: 8px; }
.hero-family { margin: 0 0 10px; }
.hero-description { margin-bottom: 20px; }
.hero-photo-wrap { min-height: 535px; }
/* The original emblem also appears in the family story and footer,
   with translucent pixels instead of solid white image rectangles. */
.story-small-badge img {
  display: block; padding: 3px; border: 0;
  background: #fff5f2 !important; border-radius: 50%;
  width: 90px; height: 90px; box-shadow: none;
}
.footer-brand img {
  display: block; width: 94px; height: 101px;
  padding: 6px; border-radius: 50%;
  border: 1px solid #d5b88b;
  background: #fff5f0 !important;
  box-shadow: none; object-fit: contain;
}
.footer-row p { margin-left: 108px; }
@media (max-width: 1450px) {
  .site-header .brand {flex-basis: 312px; width:312px;}
  .site-header .brand-art.brand-original {width:99px;height:104px;max-width:99px;min-width:99px;flex-basis:99px;}
  .brand-copy-name{font-size: 26px;}
  .brand-copy-line{font-size:7px;letter-spacing:.06em;}
  .site-header .desktop-nav {gap:10px;}
  .site-header .desktop-nav a {font-size:8px;letter-spacing:.015em;}
  .site-header .nav-cta {font-size:8px;padding:12px;}
}
@media (max-width: 1100px) {
  .site-header .nav-bar {height:100px;}
  .site-header .brand{width:auto;flex:0 1 auto;min-width:0;height:100px;}
  .site-header .brand-art.brand-original {width:90px;height:94px;max-width:90px;min-width:90px;flex-basis:90px;}
  .brand-copy-name {font-size:28px;}
  .brand-copy-line {font-size:8px;}
  .site-header .desktop-nav, .site-header .nav-cta {display:none;}
  .site-header .menu-toggle {display:flex;margin-left:auto;flex-shrink:0;}
  .hero-content {padding:34px 14px 37px 4px;}
  .hero-grid,.hero-photo-wrap {min-height:485px;}
  .hero h1 {font-size:clamp(44px,5.0vw,60px)}
}
@media (max-width: 960px) {
  .site-header .nav-bar {height:92px;}
  .site-header .brand {height:92px;}
  .site-header .brand-art.brand-original {width:88px;height:90px;min-width:88px;max-width:88px;flex-basis:88px;}
  .hero-grid {grid-template-columns:1fr;min-height:0;}
  .hero-content {padding:44px 8px 32px;}
  .hero h1 {font-size:clamp(50px,7.7vw,72px)}
  .hero-photo-wrap {height:350px;min-height:350px;}
}
@media (max-width: 640px) {
  .site-header .nav-bar {height:84px;gap:8px;}
  .site-header .brand {height:84px;gap:5px;flex:1 1 auto;min-width:0;}
  .site-header .brand-art.brand-original {width:76px;height:81px;max-width:76px;min-width:76px;flex-basis:76px;}
  .brand-copy-name {font-size:24px;}
  .brand-copy-line {font-size:6.5px;letter-spacing:.025em;white-space:normal;max-width:190px;}
  .site-header .menu-toggle {margin-left:auto;}
  .hero-content {padding:36px 3px 28px;}
  .hero h1 {font-size:clamp(41px,10.2vw,56px);}
  .hero-family {font-size:clamp(21px,6vw,29px);}
  .hero-photo-wrap {height:295px;min-height:295px;}
  .footer-brand img{width:83px;height:88px;}
  .footer-row p{margin-left:0;}
}
@media (max-width:390px) {
  .site-header .brand-art.brand-original {width:65px;height:73px;min-width:65px;max-width:65px;flex-basis:65px;}
  .brand-copy-name{font-size:22px;}
  .brand-copy-line{font-size:6px;letter-spacing:0;max-width:175px;}
  .hero-content{padding:30px 2px 26px;}
}
