:root{
  --brand-ink:#5a2b16;
  --brand-green:#075b47;
  --brand-green-deep:#054536;
  --brand-gold:#c68228;
  --brand-gold-deep:#a5631a;
  --brand-cream:#fcf9f2;
  --brand-line:#eadcca;
  --home-ink:var(--brand-ink);
  --home-green:var(--brand-green);
  --home-gold:var(--brand-gold);
  --home-cream:var(--brand-cream);
  --home-line:var(--brand-line)
}

/* Shared shell used by home + inner pages */
.site-header{background:rgba(255,253,248,.97);border-bottom:1px solid rgba(86,43,22,.08);box-shadow:none}
.nav-wrap{min-height:86px;width:min(1320px,calc(100% - 80px));gap:34px}
.brand img{width:154px;height:auto;object-fit:contain}
.main-nav{gap:clamp(24px,2.25vw,42px)}
.main-nav a{font-size:.94rem;color:#272b25}
.main-nav a[aria-current=page]{color:var(--brand-green)}
.main-nav a[aria-current=page]::after{height:2px;bottom:7px;background:var(--brand-green);left:9%;right:9%}
.header-actions .button{min-width:132px;background:var(--brand-green);border-color:var(--brand-green);padding:.72rem 1.35rem;color:#fff}

/* Overlay nav for full-bleed hero pages */
.page-home .site-header,
.page-stores .site-header,
.page-store .site-header,
.page-prices .site-header,
.page-faq .site-header,
.page-about .site-header{
  position:absolute;
  inset:0 0 auto;
  z-index:50;
  background:linear-gradient(90deg,rgba(255,253,248,.98) 0%,rgba(255,253,248,.9) 66%,rgba(255,253,248,0) 100%);
  border-bottom:0;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px)
}
.page-home main,
.page-stores main,
.page-store main{overflow:hidden}
.page-prices main,
.page-faq main,
.page-about main{overflow:visible}
.site-footer{
  position:relative;
  overflow:hidden;
  background-color:#fcf9f2;
  color:#51483f
}
.footer-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:url('/ui/footer-leaves.webp') center/cover no-repeat;
  opacity:.5;
  pointer-events:none
}
.footer-inner{
  position:relative;
  z-index:1
}
.footer-grid{padding-block:34px 22px;grid-template-columns:1.05fr .7fr 1.3fr .8fr;gap:36px}
.footer-brand img{width:144px;height:auto;object-fit:contain}
.footer-grid h2{font-family:inherit;font-size:.86rem;color:var(--brand-ink)}
.footer-grid a,.footer-grid p{font-size:.76rem;line-height:1.55}
.footer-legal{
  padding-block:14px 22px;
  font-size:.68rem;
  border-top-color:rgba(86,43,22,.1)
}

.page-home,
.page-stores,
.page-store,
.page-prices,
.page-faq,
.page-about{
  background-color:var(--brand-cream);
  background-image:linear-gradient(rgba(252,249,242,.97),rgba(252,249,242,.97)),url('/ui/paper-texture.webp');
  color:#554d45
}
.page-home .wrap,
.page-stores .wrap,
.page-store .wrap,
.page-prices .wrap,
.page-faq .wrap,
.page-about .wrap{width:min(1320px,calc(100% - 96px))}
.page-home mark.placeholder,
.page-stores mark.placeholder,
.page-store mark.placeholder{background:#fff1b5;color:#7b2d0b;border:1px dashed #d28b29;font-weight:700}

/* Shared button variants (homepage names kept as aliases) */
.button.home-primary,
.button.brand-primary{
  background:var(--brand-green)!important;
  border-color:var(--brand-green)!important;
  color:#fff!important
}
.button.home-secondary,
.button.home-outline,
.button.brand-secondary,
.button.brand-outline{
  background:rgba(255,252,246,.72)!important;
  border:1px solid #cf913e!important;
  color:#a5631a!important
}

/* Shared section heading: title + green rule */
.brand-heading,
.home-heading,
.page-stores .section-heading,
.page-store .section-heading{
  display:flex;
  align-items:center;
  gap:22px;
  margin-bottom:20px
}
.brand-heading h2,
.home-heading h2,
.page-stores .section-heading h2,
.page-store .section-heading h2{
  margin:0;
  color:var(--brand-ink);
  font-size:clamp(1.65rem,2.05vw,2.25rem);
  line-height:1.2
}
.brand-heading>span,
.home-heading>span,
.page-stores .section-heading>span,
.page-store .section-heading>span{
  width:42px;
  height:2px;
  background:var(--brand-green);
  flex:0 0 auto
}
.brand-heading-link,
.home-heading-link{
  display:grid;
  grid-template-columns:auto 42px 1fr;
  gap:22px
}
.brand-heading-link>a,
.home-heading-link>a{
  justify-self:end;
  color:var(--brand-green);
  font-size:.84rem;
  font-weight:700
}

/* Shared bottom CTA band */
.brand-closing,
.home-closing{
  position:relative;
  min-height:150px;
  margin-top:28px;
  background:linear-gradient(90deg,#f0e2cc,#fbf6ec 42%,#ead9bd);
  background-size:cover;
  background-position:top center;
  background-repeat:no-repeat
}

/* Shared hover */
.button.home-primary,
.button.brand-primary,
.button.home-secondary,
.button.home-outline,
.button.brand-secondary,
.button.brand-outline,
.header-actions .button,
.brand-heading-link>a,
.home-heading-link>a,
.main-nav a{
  transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease,opacity .22s ease
}
.button.home-primary:hover,
.button.home-primary:focus-visible,
.button.brand-primary:hover,
.button.brand-primary:focus-visible,
.header-actions .button:hover,
.header-actions .button:focus-visible{
  background:var(--brand-green-deep)!important;
  border-color:var(--brand-green-deep)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(7,91,71,.24);
  transform:translateY(-1px)
}
.button.home-secondary:hover,
.button.home-secondary:focus-visible,
.button.home-outline:hover,
.button.home-outline:focus-visible,
.button.brand-secondary:hover,
.button.brand-secondary:focus-visible,
.button.brand-outline:hover,
.button.brand-outline:focus-visible{
  background:#fff8ee!important;
  border-color:var(--brand-gold-deep)!important;
  color:#7a4714!important;
  box-shadow:0 8px 20px rgba(165,99,26,.14);
  transform:translateY(-1px)
}
.brand-heading-link>a:hover,
.home-heading-link>a:hover,
.main-nav a:hover,
.main-nav a:focus-visible{color:var(--brand-green)}
@media(hover:none){
  .button.home-primary:hover,
  .button.brand-primary:hover,
  .button.home-secondary:hover,
  .button.home-outline:hover,
  .header-actions .button:hover{transform:none}
}

@media(max-width:1439px) and (min-width:961px){
  .nav-wrap{width:min(1240px,calc(100% - 52px));gap:20px}
  .main-nav{gap:20px}
  .page-home .wrap,
  .page-stores .wrap,
  .page-store .wrap,
  .page-prices .wrap,
  .page-faq .wrap,
  .page-about .wrap{width:min(1240px,calc(100% - 52px))}
}

@media(max-width:960px){
  .nav-wrap{width:calc(100% - 24px)}
  .brand img{width:90px}
  .page-home .site-header,
  .page-stores .site-header,
  .page-store .site-header,
  .page-faq .site-header,
  .page-about .site-header{
    background:linear-gradient(180deg,rgba(255,253,248,.97) 0%,rgba(255,253,248,.88) 78%,rgba(255,253,248,0) 100%)
  }
  .page-home .wrap,
  .page-stores .wrap,
  .page-store .wrap,
  .page-prices .wrap,
  .page-faq .wrap,
  .page-about .wrap{width:calc(100% - 32px)}
  .brand-heading,
  .home-heading,
  .brand-heading-link,
  .home-heading-link,
  .page-stores .section-heading{display:flex;flex-wrap:wrap;gap:12px}
  .brand-heading-link>a,
  .home-heading-link>a{margin-left:auto;justify-self:auto}
  .footer-grid{grid-template-columns:1fr}
}
