/* ============================================================
   Dahlonega's Best — custom art direction
   Warm travel-editorial. Fraunces + Work Sans. Ivory / pine / gold.
   Distinct from achasta.co (dark luxury). v1 2026-06-30
   ============================================================ */
:root{
  --dsb-ivory:#f7f1e6;
  --dsb-ivory-2:#efe6d5;
  --dsb-ink:#231f17;
  --dsb-pine:#1e3b2c;
  --dsb-pine-2:#25412f;
  --dsb-gold:#b3812c;
  --dsb-gold-2:#caa24f;
  --dsb-muted:#6d6455;
  --dsb-line:rgba(35,31,23,.14);
}

/* ---- Full-bleed breakout for the custom homepage + hide theme page title on home ---- */
.dsb-scope{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw); overflow-x:clip; }
body.home .wp-block-post-title, body.home .wp-block-post-content > .wp-block-spacer:first-child{ display:none !important; }
body.home .wp-block-post-content{ padding:0 !important; margin-block:0 !important; max-width:none !important; }

/* ---- Site-wide typography identity (elevates interior pages too) ---- */
body.dsb, .dsb-scope{ background:var(--dsb-ivory); color:var(--dsb-ink);
  font-family:"Work Sans",system-ui,sans-serif; font-size:18px; line-height:1.7;
  -webkit-font-smoothing:antialiased; }
.dsb h1,.dsb h2,.dsb h3,.dsb .dsb-display{ font-family:"Fraunces",Georgia,serif;
  font-weight:600; letter-spacing:-.01em; color:var(--dsb-ink); }
.dsb .entry-content{ max-width:760px; margin-inline:auto; }
.dsb .entry-content h2{ font-size:2rem; margin-top:2.4em; }
.dsb a{ color:var(--dsb-pine); text-underline-offset:3px; }

/* ---- Shared editorial atoms ---- */
.dsb-eyebrow{ font-family:"Work Sans",sans-serif; font-weight:600; font-size:.72rem;
  letter-spacing:.28em; text-transform:uppercase; color:var(--dsb-gold); }
.dsb-numeral{ font-family:"Fraunces",serif; font-style:italic; font-size:1.5rem;
  color:var(--dsb-gold); }
.dsb-rule{ height:1px; background:var(--dsb-line); border:0; }
.dsb-wrap{ max-width:1200px; margin-inline:auto; padding-inline:clamp(20px,5vw,64px); }

/* ---- HERO ---- */
.dsb-hero{ position:relative; min-height:88vh; display:flex; align-items:flex-end;
  color:#fff; overflow:hidden; }
.dsb-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dsb-hero::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(30,25,17,.25) 0%,rgba(24,20,14,.35) 45%,rgba(20,17,11,.82) 100%); }
.dsb-hero__inner{ position:relative; z-index:2; width:100%;
  padding:clamp(28px,6vw,72px) clamp(20px,5vw,72px); }
.dsb-hero__eyebrow{ color:var(--dsb-gold-2); }
.dsb-hero h1{ color:#fff; font-size:clamp(3rem,8vw,6.4rem); line-height:.98;
  font-weight:600; margin:.28em 0 .35em; max-width:14ch; }
.dsb-hero h1 em{ font-style:italic; color:var(--dsb-gold-2); }
.dsb-hero__sub{ max-width:46ch; font-size:clamp(1.05rem,1.6vw,1.35rem);
  color:rgba(255,255,255,.9); line-height:1.6; }
.dsb-scroll{ margin-top:2rem; display:inline-flex; align-items:center; gap:.6rem;
  font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:#fff;
  text-decoration:none; border:1px solid rgba(255,255,255,.4); padding:.85rem 1.5rem;
  border-radius:2px; transition:all .25s ease; }
.dsb-scroll:hover{ background:var(--dsb-gold); border-color:var(--dsb-gold); color:#231f17; }

/* ---- Intro band ---- */
.dsb-intro{ background:var(--dsb-ivory); padding:clamp(64px,9vw,120px) 0; }
.dsb-intro__head{ display:flex; align-items:center; gap:1.2rem; margin-bottom:2.4rem; }
.dsb-intro__head .dsb-rule{ flex:1; }
.dsb-lead{ font-family:"Fraunces",serif; font-size:clamp(1.7rem,3.4vw,2.9rem);
  line-height:1.25; font-weight:500; max-width:20ch; color:var(--dsb-ink); }
.dsb-lead em{ font-style:italic; color:var(--dsb-pine); }
.dsb-intro__body{ display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,5vw,5rem);
  align-items:start; }
.dsb-intro__body p{ color:var(--dsb-muted); font-size:1.08rem; }

/* ---- Guide sections ---- */
.dsb-section{ padding:clamp(40px,6vw,84px) 0; }
.dsb-section--pine{ background:var(--dsb-ivory-2); }
.dsb-section__head{ display:flex; align-items:baseline; gap:1.2rem; margin-bottom:2.6rem; }
.dsb-section__head h2{ font-size:clamp(2rem,4.4vw,3.4rem); line-height:1.05; margin:0; }
.dsb-section__head h2 em{ font-style:italic; color:var(--dsb-gold); }
.dsb-section__head .dsb-kicker{ margin-left:auto; text-align:right; max-width:24ch;
  color:var(--dsb-muted); font-size:.98rem; }

/* ---- Guide cards ---- */
.dsb-guides{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.2rem,2.4vw,2.2rem); }
.dsb-card{ display:flex; flex-direction:column; text-decoration:none; color:inherit;
  background:#fff; border:1px solid var(--dsb-line); border-radius:4px; overflow:hidden;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }
.dsb-card:hover{ transform:translateY(-6px); box-shadow:0 24px 50px -28px rgba(30,25,17,.5); }
.dsb-card__media{ aspect-ratio:4/3; overflow:hidden; }
.dsb-card__media img{ width:100%; height:100%; object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.dsb-card:hover .dsb-card__media img{ transform:scale(1.06); }
.dsb-card__body{ padding:1.5rem 1.6rem 1.8rem; }
.dsb-card__tag{ font-size:.68rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--dsb-gold); font-weight:600; }
.dsb-card h3{ font-size:1.4rem; line-height:1.2; margin:.55rem 0 .5rem; }
.dsb-card p{ color:var(--dsb-muted); font-size:.98rem; margin:0; line-height:1.55; }
.dsb-card__more{ margin-top:1.1rem; font-size:.8rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--dsb-pine); font-weight:600; }

/* ---- Moving-here CTA (atmospheric pine) ---- */
.dsb-cta{ position:relative; background:var(--dsb-pine); color:#fff; overflow:hidden;
  padding:clamp(64px,9vw,120px) 0; text-align:center; }
.dsb-cta::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 50% -10%,rgba(202,162,79,.22),transparent 60%); }
.dsb-cta__inner{ position:relative; z-index:2; max-width:680px; margin-inline:auto; }
.dsb-cta h2{ color:#fff; font-size:clamp(2rem,4.2vw,3.2rem); line-height:1.1; margin:.5rem 0 .8rem; }
.dsb-cta h2 em{ font-style:italic; color:var(--dsb-gold-2); }
.dsb-cta p{ color:rgba(255,255,255,.82); font-size:1.1rem; line-height:1.65; margin:0 auto 2rem; max-width:46ch; }
.dsb-btn{ display:inline-block; background:var(--dsb-gold); color:#231f17; font-weight:600;
  font-family:"Work Sans",sans-serif; letter-spacing:.02em; padding:1.05rem 2.2rem;
  border-radius:3px; text-decoration:none; transition:all .25s ease; }
.dsb-btn:hover{ background:var(--dsb-gold-2); transform:translateY(-2px); }
.dsb-cta__phone{ display:block; margin-top:1.4rem; font-size:.95rem; color:rgba(255,255,255,.7); }
.dsb-cta__phone a{ color:var(--dsb-gold-2); text-decoration:none; }

/* ---- Responsive ---- */
@media(max-width:900px){
  .dsb-guides{ grid-template-columns:1fr 1fr; }
  .dsb-intro__body{ grid-template-columns:1fr; gap:1.4rem; }
  .dsb-section__head{ flex-direction:column; align-items:flex-start; gap:.8rem; }
  .dsb-section__head .dsb-kicker{ margin-left:0; text-align:left; }
}
@media(max-width:600px){
  .dsb-guides{ grid-template-columns:1fr; }
  .dsb-hero{ min-height:82vh; }
}
