.elementor-15 .elementor-element.elementor-element-tbc00027 > .elementor-container{max-width:100px;}.elementor-15 .elementor-element.elementor-element-tbc00027{padding:0px 0px 0px 0px;}.elementor-15 .elementor-element.elementor-element-tbc00020:not(.elementor-motion-effects-element-type-background), .elementor-15 .elementor-element.elementor-element-tbc00020 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#333d2b;}.elementor-15 .elementor-element.elementor-element-tbc00020 > .elementor-container{max-width:1300px;}.elementor-15 .elementor-element.elementor-element-tbc00020{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:72px 40px 44px 40px;}.elementor-15 .elementor-element.elementor-element-tbc00020 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-15 .elementor-element.elementor-element-tbc00010.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-15 .elementor-element.elementor-element-tbc00010 > .elementor-element-populated{padding:0px 30px 0px 0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-tbc00008{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"General Sans", Sans-serif;font-size:17px;line-height:1.7em;color:#33322c;}.elementor-15 .elementor-element.elementor-element-tbc00009{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-15 .elementor-element.elementor-element-tbc00013.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-15 .elementor-element.elementor-element-tbc00013 > .elementor-element-populated{padding:0px 14px 0px 0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-15 .elementor-element.elementor-element-tbc00011{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;text-align:start;}.elementor-15 .elementor-element.elementor-element-tbc00011 .elementor-heading-title{font-family:"General Sans", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.15em;letter-spacing:1.5px;color:#ffffff;}.elementor-15 .elementor-element.elementor-element-tbc00012{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"General Sans", Sans-serif;font-size:17px;line-height:1.7em;color:#33322c;}.elementor-15 .elementor-element.elementor-element-tbc00016.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-15 .elementor-element.elementor-element-tbc00016 > .elementor-element-populated{padding:0px 14px 0px 0px;}.elementor-15 .elementor-element.elementor-element-tbc00014{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;text-align:start;}.elementor-15 .elementor-element.elementor-element-tbc00014 .elementor-heading-title{font-family:"General Sans", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.15em;letter-spacing:1.5px;color:#ffffff;}.elementor-15 .elementor-element.elementor-element-tbc00015{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"General Sans", Sans-serif;font-size:17px;line-height:1.7em;color:#33322c;}.elementor-15 .elementor-element.elementor-element-tbc00019.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-15 .elementor-element.elementor-element-tbc00019 > .elementor-element-populated{padding:0px 14px 0px 0px;}.elementor-15 .elementor-element.elementor-element-tbc00017{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;text-align:start;}.elementor-15 .elementor-element.elementor-element-tbc00017 .elementor-heading-title{font-family:"General Sans", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.15em;letter-spacing:1.5px;color:#ffffff;}.elementor-15 .elementor-element.elementor-element-tbc00018{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;font-family:"General Sans", Sans-serif;font-size:17px;line-height:1.7em;color:#33322c;}.elementor-15 .elementor-element.elementor-element-tbc00023:not(.elementor-motion-effects-element-type-background), .elementor-15 .elementor-element.elementor-element-tbc00023 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#23291a;}.elementor-15 .elementor-element.elementor-element-tbc00023 > .elementor-container{max-width:1300px;}.elementor-15 .elementor-element.elementor-element-tbc00023{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:20px 0px 20px 0px;}.elementor-15 .elementor-element.elementor-element-tbc00023 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-15 .elementor-element.elementor-element-tbc00022.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-15 .elementor-element.elementor-element-tbc00021{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"General Sans", Sans-serif;font-size:17px;line-height:1.7em;color:#33322c;}.elementor-15 .elementor-element.elementor-element-tbc00026 > .elementor-container{max-width:100px;}.elementor-15 .elementor-element.elementor-element-tbc00026{padding:0px 0px 0px 0px;}.elementor-15 .elementor-element.elementor-element-tbc00025.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS */@import url('https://api.fontshare.com/v2/css?f[]=general-sans@300,400,500,600,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');

/* Tight section header spacing. */
body.page-id-0 .elementor-widget-heading:has(+ .elementor-widget-divider) {
  margin-block-end: 2px !important; margin-bottom: 2px !important;
}
body.page-id-0 .elementor-widget-heading:has(+ .elementor-widget-divider) .elementor-heading-title {
  margin: 0 !important; padding: 0 !important; line-height: 1.15 !important;
}
body.page-id-0 .elementor-widget-divider {
  margin-block-start: 0 !important; margin-block-end: 6px !important;
  margin-top: 0 !important; margin-bottom: 6px !important;
}
body.page-id-0 .elementor-widget-divider .elementor-divider-separator {
  margin-inline: auto !important; margin-left: auto !important; margin-right: auto !important;
}
body.page-id-0 .elementor-widget-divider + .elementor-widget-heading {
  margin-block-start: 0 !important; margin-top: 0 !important;
  margin-block-end: 10px !important; margin-bottom: 10px !important;
}
body.page-id-0 .elementor-widget-divider + .elementor-widget-heading .elementor-heading-title {
  margin: 0 !important; padding: 0 !important; line-height: 1.1 !important;
}
body.page-id-0 .elementor-widget-divider + .elementor-widget-heading + .elementor-widget-text-editor {
  margin-block-start: 4px !important; margin-top: 4px !important;
}


body.page-id-0 .elementor-widget-text-editor a,
body.page-id-0 .elementor-widget-text-editor a:link,
body.page-id-0 .elementor-widget-text-editor a:visited,
body.page-id-0 .elementor-widget-text-editor a:hover { color: #4e6042; }


.elementor-invisible{opacity:1 !important;visibility:visible !important;}
/* scroll-in reveal driven by the footer IntersectionObserver script (cross-browser).
   Content is VISIBLE by default; JS adds .dd-pre (hide) ONLY to below-fold elements
   then .dd-in (reveal) as they scroll in — so it can never leave content blank. */
.dd-anim{transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);}
@media (prefers-reduced-motion:no-preference){
  .dd-anim.dd-pre{opacity:0;transform:translateY(38px);}
}
.dd-anim.dd-in{opacity:1;transform:none;}
/* modern box hover (apply class .dd-box to cards/columns) */
.dd-box{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease;}
.dd-box:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(40,46,28,.17);}


/* ===== HERO (shared) ===== */
/* HEIGHT FIX: every hero is EXACTLY one viewport tall. Elementor's min-height lands
   on the inner .elementor-container and the section padding stacks on top (→ ~242px
   too tall on this host), so we force the SECTION itself to 100vh as a flex column
   (border-box keeps padding inside) and let it hold the content. Targeted by id since
   section _css_classes do not render here. */
/* single-column heroes: force the SECTION to exactly 100vh as a centred flex column.
   (the free-guide #dd-fg-hero is a TALL 2-column hero — it keeps its natural height) */
#top, #dd-arch-hero, #dd-single-hero, #dd-srchhero, #dd-404{
  min-height:100vh !important; height:auto !important;
  display:flex !important; flex-direction:column !important;}
#top > .elementor-container, #dd-arch-hero > .elementor-container, #dd-single-hero > .elementor-container,
#dd-srchhero > .elementor-container, #dd-404 > .elementor-container{
  min-height:0 !important; width:100% !important;}
/* copy is VERTICALLY CENTRED between the header and the screen bottom */
#top, #dd-arch-hero, #dd-single-hero, #dd-srchhero, #dd-404{ justify-content:center !important; }
#dd-fg-hero{ min-height:100vh !important; }
/* every wrapper INSIDE the hero is STATIC so the absolute scroll cue pins to the
   SECTION (very bottom). Elementor sets position:relative on columns, widget-wraps
   AND each widget, any of which would otherwise capture the cue. */
#top .elementor-container, #top .elementor-column, #top .elementor-widget-wrap, #top .elementor-widget,
#dd-arch-hero .elementor-container, #dd-arch-hero .elementor-column, #dd-arch-hero .elementor-widget-wrap, #dd-arch-hero .elementor-widget,
#dd-single-hero .elementor-container, #dd-single-hero .elementor-column, #dd-single-hero .elementor-widget-wrap, #dd-single-hero .elementor-widget,
#dd-srchhero .elementor-container, #dd-srchhero .elementor-column, #dd-srchhero .elementor-widget-wrap, #dd-srchhero .elementor-widget,
#dd-404 .elementor-container, #dd-404 .elementor-column, #dd-404 .elementor-widget-wrap, #dd-404 .elementor-widget{ position:static !important; }

/* ===== HERO TEXT (shared via .dd-hero) ===== */
/* bottom gradient scrim — premium, lets the footage breathe up top, darkens only where the copy sits */
.dd-hero .elementor-background-overlay{
  background:linear-gradient(176deg, rgba(35,41,26,0) 0%, rgba(35,41,26,.08) 32%, rgba(35,41,26,.42) 66%, rgba(28,33,20,.74) 100%) !important;
  opacity:1 !important;
}
/* editorial kicker: short clay rule + finely tracked label */
.dd-hero-eyebrow .elementor-heading-title{
  display:inline-flex !important; align-items:center; gap:15px;
  color:#e6c39a !important; font-weight:600 !important; font-size:12.5px !important;
  letter-spacing:.30em !important; text-transform:uppercase;
  text-shadow:0 1px 16px rgba(18,22,12,.55), 0 1px 2px rgba(18,22,12,.45);
}
.dd-hero-eyebrow .elementor-heading-title::before{
  content:""; width:36px; height:1.5px; background:#e0b384; display:inline-block; flex:0 0 auto;
  box-shadow:0 1px 6px rgba(18,22,12,.45);
}
/* headline: fluid scale, tight leading, soft legibility shadow */
.dd-hero-h1 .elementor-heading-title{
  font-family:'General Sans',sans-serif !important; font-weight:500 !important;
  font-size:clamp(40px, 5.6vw, 76px) !important; line-height:1.04 !important;
  letter-spacing:-.014em !important; max-width:15ch; text-wrap:balance;
  text-shadow:0 2px 36px rgba(18,22,12,.45), 0 1px 2px rgba(18,22,12,.32);
}
/* handwritten accent word — Rhonda's signature touch (standalone so any hero headline can use it) */
.dd-hero-accent{
  font-family:'Caveat',cursive !important; font-weight:600; color:#ecca9f;
  font-size:1.20em; line-height:1; white-space:nowrap;
  display:inline-block; transform:rotate(-2.5deg); padding:0 .05em;
  text-shadow:0 2px 24px rgba(18,22,12,.40);
}
/* sub-line: calmer measure + weight */
.dd-hero-sub{
  font-family:'General Sans',sans-serif !important; font-weight:400 !important;
  font-size:19px !important; line-height:1.62 !important;
  color:rgba(255,255,255,.90) !important; max-width:540px; margin:0 !important;
  text-shadow:0 1px 20px rgba(18,22,12,.36);
}
/* calm staggered fade-up on load (CSS-only, no JS gate; respects reduced motion) */
@media (prefers-reduced-motion:no-preference){
  @keyframes ddHeroUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
  .dd-hero-r1{animation:ddHeroUp .8s cubic-bezier(.2,.8,.2,1) .12s both;}
  .dd-hero-r2{animation:ddHeroUp .95s cubic-bezier(.2,.8,.2,1) .28s both;}
  .dd-hero-r3{animation:ddHeroUp .95s cubic-bezier(.2,.8,.2,1) .48s both;}
  .dd-hero .elementor-widget-button{animation:ddHeroUp .95s cubic-bezier(.2,.8,.2,1) .66s both;}
}
/* animated "scroll down" cue, pinned bottom-centre of the full-height hero */
.dd-hero{position:relative;}
/* scroll cue pinned to the VERY bottom of the hero (copy is centred above it) */
.dd-scrolldown{position:absolute !important; left:50%; bottom:24px; transform:translateX(-50%);
  z-index:6; cursor:pointer; width:auto !important; margin:0 !important;
  display:flex; flex-direction:column; align-items:center; gap:9px;}
.dd-scrolldown .dd-sd-label{font-family:'General Sans',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:.26em; text-transform:uppercase; color:rgba(255,255,255,.88);
  text-shadow:0 1px 14px rgba(18,22,12,.5);}
.dd-scrolldown .dd-sd-mouse{display:block; width:26px; height:44px; border:2px solid rgba(255,255,255,.85);
  border-radius:14px; position:relative; box-shadow:0 2px 18px rgba(18,22,12,.40);}
.dd-scrolldown .dd-sd-wheel{position:absolute; left:50%; top:8px; width:4px; height:9px; margin-left:-2px;
  border-radius:2px; background:#fff;}
.dd-scrolldown:hover .dd-sd-mouse{border-color:#fff;}
@media (prefers-reduced-motion:no-preference){
  @keyframes ddWheel{0%{opacity:0;transform:translateY(0)}25%{opacity:1}55%{opacity:1;transform:translateY(13px)}100%{opacity:0;transform:translateY(13px)}}
  @keyframes ddBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}
  .dd-scrolldown .dd-sd-wheel{animation:ddWheel 1.7s cubic-bezier(.4,0,.2,1) infinite;}
  .dd-scrolldown{animation:ddBob 2.4s ease-in-out infinite;}
}
@media (max-width:767px){
  .dd-hero-h1 .elementor-heading-title{font-size:clamp(32px,8.4vw,42px) !important; max-width:18ch;}
  .dd-hero-sub{font-size:17px !important;}
  .dd-hero-eyebrow .elementor-heading-title::before{width:26px;}
  .dd-scrolldown{bottom:18px;}
}


/* ── Section header (flanked kicker + handwritten accent) ── */
.dd-shead-eye .elementor-heading-title{
  display:inline-flex !important; align-items:center; gap:14px;
  font-size:12.5px !important; font-weight:600 !important; letter-spacing:.26em !important;
}
.dd-shead-eye .elementor-heading-title::before,
.dd-shead-eye .elementor-heading-title::after{
  content:""; width:30px; height:1.5px; background:#b0875f; opacity:.85;
  display:inline-block; flex:0 0 auto;
}
.dd-shead-h2 .elementor-heading-title{ letter-spacing:-.012em; }
/* handwritten gold accent word — same signature as the hero (light + dark variants) */
.dd-head-accent{ font-family:'Caveat',cursive !important; font-weight:600 !important;
  color:#b0875f; font-size:1.18em; line-height:1; display:inline-block;
  transform:rotate(-2deg); padding:0 .04em; }
.dd-head-accent-d{ color:#ecca9f; }
@media (max-width:767px){
  .dd-shead-eye .elementor-heading-title::before,
  .dd-shead-eye .elementor-heading-title::after{ width:20px; }
}

footer.site-footer, #site-footer { display:none !important; }
/* Back the whole footer location navy so the trailing cookie/JS section (which is
   position:fixed inside, leaving a ~30px transparent box in flow) never shows as a
   white strip under the footer. Inner sections paint their own bg on top. */
.elementor-location-footer { background-color:#23291a; }
#dd-footer > .elementor-container { display:flex !important; flex-wrap:wrap !important; justify-content:space-between !important; align-items:flex-start !important; gap:40px !important; max-width:1280px !important; margin:0 auto !important; }
#dd-footer .elementor-column { width:auto !important; flex:0 1 auto !important; }
/* reversed/transparent emblem (white line-art + botanicals) reads directly on the dark footer */
#dd-footer .dd-flogo img { width:210px; height:auto; }
#dd-footer .dd-flist { display:flex; flex-direction:column; gap:11px; }
#dd-footer .dd-fl, #dd-footer .dd-fl:link, #dd-footer .dd-fl:visited {
  color:rgba(255,255,255,0.80) !important; text-decoration:none !important; font-family:General Sans; font-size:15px;
  transition:color .2s ease, padding-left .2s ease; }
#dd-footer .dd-fl:hover { color:#b0875f !important; padding-left:5px; }
/* social icon row under the footer brand blurb (FA5 brand glyphs) */
#dd-footer .dd-fsocial { display:flex; gap:12px; margin-top:22px; }
#dd-footer .dd-fsocial a, #dd-footer .dd-fsocial a:link, #dd-footer .dd-fsocial a:visited {
  display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.28); color:rgba(255,255,255,0.85) !important; font-size:16px;
  text-decoration:none !important; transition:background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease; }
#dd-footer .dd-fsocial a:hover { background:#b0875f; border-color:#b0875f; color:#333d2b !important; transform:translateY(-2px); }
/* legal links in the bottom bar */
.dd-legal, .dd-legal:link, .dd-legal:visited { color:rgba(255,255,255,0.62) !important; text-decoration:none; }
.dd-legal:hover { color:#b0875f !important; }
/* cookie consent banner (shown once via the footer script) */
.dd-cookie { position:fixed; left:0; right:0; bottom:0; z-index:1200; background:#333d2b; color:#fff;
  display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; padding:14px 24px;
  font-family:General Sans; font-size:14px; box-shadow:0 -6px 24px rgba(0,0,0,.2); }
.dd-cookie.dd-cookie-hidden { display:none; }
.dd-cookie a { color:#b0875f; text-decoration:underline; }
.dd-cookie-x { background:#b0875f; color:#333d2b; border:0; border-radius:30px; padding:9px 24px;
  font-family:General Sans; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:1px; cursor:pointer; transition:transform .2s ease; }
.dd-cookie-x:hover { transform:translateY(-1px); }/* End custom CSS */