:root{
  --bluffton-paper:#FFF5E6;
  --bluffton-accent:#FA7864;
  --bluffton-accent-muted:#DC8264;
  --bluffton-ink:#000000;
  --bluffton-body:#282828;
  --bluffton-muted:#707070;
  --bluffton-white:#FFFFFF;
  --bluffton-border:#D6CFC3;
}

/* Replace Blocksy's visible chrome without altering its saved Customizer data. */
header#header,
.ct-header,
footer.ct-footer,
#footer {
  display:none !important;
}

.bluffton-site-header,
.bluffton-site-footer{
  box-sizing:border-box;
}

.bluffton-site-header *,
.bluffton-site-footer *{
  box-sizing:border-box;
}

.bluffton-site-header{
  position:sticky;
  top:0;
  z-index:999;
  width:100%;
  background:rgba(255,245,230,.97);
  border-bottom:1px solid var(--bluffton-ink);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.admin-bar .bluffton-site-header{
  top:32px;
}

.bluffton-header-inner{
  width:min(1200px,calc(100% - 48px));
  min-height:74px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.bluffton-brand{
  flex:0 0 auto;
  display:inline-flex;
  flex-direction:column;
  text-decoration:none;
  color:var(--bluffton-ink);
  line-height:1;
}

.bluffton-brand-name{
  font-family:"Playfair Display",Georgia,serif;
  font-size:1.55rem;
  font-weight:500;
  letter-spacing:-.02em;
}

.bluffton-brand-tag{
  margin-top:6px;
  font-family:"Space Mono",monospace;
  font-size:.54rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--bluffton-accent-muted);
}

.bluffton-primary-nav{
  margin-left:auto;
}

.bluffton-primary-nav ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:22px;
  margin:0;
  padding:0;
}

.bluffton-primary-nav a{
  color:var(--bluffton-ink);
  font-family:Inter,system-ui,sans-serif;
  font-size:.82rem;
  font-weight:600;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}

.bluffton-primary-nav a:hover,
.bluffton-primary-nav a:focus-visible{
  color:var(--bluffton-accent-muted);
}

.bluffton-header-weekly{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 17px;
  border:1px solid var(--bluffton-accent);
  border-radius:999px;
  background:var(--bluffton-accent);
  color:#fff !important;
}

.bluffton-header-weekly:hover,
.bluffton-header-weekly:focus-visible{
  background:var(--bluffton-ink);
  border-color:var(--bluffton-ink);
  color:#fff !important;
}

.bluffton-mobile-nav{
  display:none;
  position:relative;
}

.bluffton-mobile-nav summary{
  cursor:pointer;
  list-style:none;
  min-width:72px;
  padding:9px 14px;
  border:1px solid var(--bluffton-ink);
  border-radius:999px;
  color:var(--bluffton-ink);
  font-family:Inter,system-ui,sans-serif;
  font-size:.82rem;
  font-weight:600;
  text-align:center;
}

.bluffton-mobile-nav summary::-webkit-details-marker{
  display:none;
}

.bluffton-mobile-panel{
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  width:min(320px,calc(100vw - 32px));
  padding:14px;
  background:var(--bluffton-paper);
  border:1px solid var(--bluffton-ink);
  box-shadow:0 16px 40px rgba(0,0,0,.14);
}

.bluffton-mobile-panel a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:46px;
  padding:9px 10px;
  border-bottom:1px solid rgba(0,0,0,.18);
  color:var(--bluffton-ink);
  font-family:Inter,system-ui,sans-serif;
  font-size:.92rem;
  text-decoration:none;
}

.bluffton-mobile-panel a:last-child{
  border-bottom:0;
}

.bluffton-mobile-panel a::after{
  content:"→";
  color:var(--bluffton-accent);
}

/* Footer */
.bluffton-site-footer{
  width:100%;
  background:var(--bluffton-ink);
  color:var(--bluffton-white);
}

.bluffton-footer-cta{
  border-bottom:1px solid rgba(255,255,255,.2);
}

.bluffton-footer-cta-inner{
  width:min(1200px,calc(100% - 48px));
  margin:0 auto;
  padding:58px 0;
  display:grid;
  grid-template-columns:1fr auto;
  gap:36px;
  align-items:center;
}

.bluffton-footer-eyebrow{
  margin:0 0 9px;
  font-family:"Space Mono",monospace;
  font-size:.64rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bluffton-accent);
}

.bluffton-footer-cta h2{
  max-width:760px;
  margin:0;
  color:#fff;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(2rem,4vw,3.25rem);
  font-weight:500;
  line-height:1.05;
}

.bluffton-footer-cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  border:1px solid #fff;
  border-radius:999px;
  background:#fff;
  color:var(--bluffton-accent-muted);
  font-family:Inter,system-ui,sans-serif;
  font-size:.9rem;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}

.bluffton-footer-main{
  width:min(1200px,calc(100% - 48px));
  margin:0 auto;
  padding:62px 0 44px;
  display:grid;
  grid-template-columns:1.35fr repeat(3,1fr);
  gap:54px;
}

.bluffton-footer-brand{
  max-width:320px;
}

.bluffton-footer-brand .bluffton-brand-name{
  color:#fff;
  font-size:1.85rem;
}

.bluffton-footer-brand p{
  margin:18px 0 0;
  color:rgba(255,255,255,.68);
  font-family:Inter,system-ui,sans-serif;
  font-size:.9rem;
  line-height:1.65;
}

.bluffton-footer-heading{
  margin:0 0 15px;
  color:var(--bluffton-accent);
  font-family:"Space Mono",monospace;
  font-size:.62rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.bluffton-footer-nav{
  list-style:none;
  margin:0;
  padding:0;
}

.bluffton-footer-nav li + li{
  margin-top:10px;
}

.bluffton-footer-nav a{
  color:rgba(255,255,255,.84);
  font-family:Inter,system-ui,sans-serif;
  font-size:.9rem;
  line-height:1.4;
  text-decoration:none;
}

.bluffton-footer-nav a:hover,
.bluffton-footer-nav a:focus-visible{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

.bluffton-footer-bottom{
  width:min(1200px,calc(100% - 48px));
  margin:0 auto;
  padding:22px 0 28px;
  display:flex;
  justify-content:space-between;
  gap:28px;
  border-top:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.55);
  font-family:"Space Mono",monospace;
  font-size:.56rem;
  line-height:1.6;
  letter-spacing:.03em;
}

.bluffton-footer-bottom p{
  margin:0;
  max-width:760px;
}

.bluffton-footer-bottom a{
  color:inherit;
}

.bluffton-skip-link{
  position:absolute;
  left:-9999px;
  top:0;
}

.bluffton-skip-link:focus{
  left:18px;
  top:18px;
  z-index:10000;
  padding:10px 14px;
  background:#fff;
  border:2px solid #000;
  color:#000;
  font-family:Inter,system-ui,sans-serif;
  text-decoration:none;
}

@media(max-width:1020px){
  .bluffton-primary-nav{
    display:none;
  }

  .bluffton-mobile-nav{
    display:block;
    margin-left:auto;
  }

  .bluffton-header-inner{
    min-height:68px;
  }
}

@media(max-width:800px){
  .bluffton-footer-cta-inner{
    grid-template-columns:1fr;
    align-items:start;
  }

  .bluffton-footer-main{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:782px){
  .admin-bar .bluffton-site-header{
    top:46px;
  }
}

@media(max-width:580px){
  .bluffton-header-inner,
  .bluffton-footer-cta-inner,
  .bluffton-footer-main,
  .bluffton-footer-bottom{
    width:min(100% - 32px,1200px);
  }

  .bluffton-brand-name{
    font-size:1.35rem;
  }

  .bluffton-footer-main{
    grid-template-columns:1fr;
    gap:34px;
  }

  .bluffton-footer-bottom{
    flex-direction:column;
    gap:10px;
  }
}
