.elementor-13 .elementor-element.elementor-element-tbc00004 > .elementor-container{max-width:100px;}.elementor-13 .elementor-element.elementor-element-tbc00004{padding:0px 0px 0px 0px;}.elementor-13 .elementor-element.elementor-element-tbc00003:not(.elementor-motion-effects-element-type-background), .elementor-13 .elementor-element.elementor-element-tbc00003 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-13 .elementor-element.elementor-element-tbc00003 > .elementor-container{max-width:1340px;}.elementor-13 .elementor-element.elementor-element-tbc00003{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 0px 0px 0px;}.elementor-13 .elementor-element.elementor-element-tbc00003 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-13 .elementor-element.elementor-element-tbc00002.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-13 .elementor-element.elementor-element-tbc00002 > .elementor-element-populated{padding:0px 0px 0px 0px;}.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; }
}

/* Nick: stop the slight horizontal scroll — decorative grow-section cards and the
   mobile post-card images peek a few px past the viewport edge; clip at the root. */
html, body { overflow-x: hidden; }
header.site-header, #site-header { display:none !important; }
/* FLOATING TRANSLUCENT header: a rounded frosted dark pill overlaying the hero
   (OnEarth / EcoTech style). Fixed so it stays; the dark pill reads on any bg. */
.elementor-location-header { position:fixed !important; top:0; left:0; right:0; z-index:1000; background:transparent; }
#dd-header { position:relative; z-index:1000; background:transparent; }
#dd-header .elementor-widget-html, #dd-header .elementor-widget-container { width:100%; }
#dd-header .dd-hdrbar {
  display:flex; align-items:center; gap:30px; max-width:1280px;
  margin:30px auto 0; padding:11px 14px 11px 26px; position:relative;
  background:rgba(35,41,26,0.42); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.16); border-radius:60px;
  transition:background .3s ease, margin .3s ease, box-shadow .3s ease;
}
#dd-header.dd-shrink .dd-hdrbar { background:rgba(35,41,26,0.92); margin-top:14px; box-shadow:0 10px 30px rgba(0,0,0,.22); }
/* expanding search: the magnifier button is the only in-flow item; the input is absolute + zero-box
   when closed and expands to a frosted white pill over the nav to its left, so opening reflows nothing (§14J) */
#dd-header .dd-hsearch { flex:0 0 auto; position:relative; display:flex; align-items:center; margin:0; }
#dd-header .dd-hsearch-btn { background:transparent; border:0; cursor:pointer; color:rgba(255,255,255,0.9); font-size:16px; line-height:1; padding:6px; display:flex; align-items:center; transition:color .2s ease; }
#dd-header .dd-hsearch-btn:hover { color:#c39c77; }
#dd-header .dd-hsearch-in { position:absolute; right:100%; top:50%; transform:translateY(-50%); width:0; height:42px; padding:0; border:0; opacity:0; pointer-events:none; background:rgba(255,255,255,0.97); color:#33322c; border-radius:30px; font-family:'General Sans',sans-serif; font-size:15px; box-shadow:0 12px 30px rgba(0,0,0,.24); transition:width .3s cubic-bezier(.2,.8,.2,1), opacity .2s ease, padding .3s ease; }
#dd-header.dd-search-open .dd-hsearch-in { width:270px; padding:0 20px; margin-right:12px; opacity:1; pointer-events:auto; }
#dd-header .dd-hsearch-in::placeholder { color:#9a9488; }
#dd-header .dd-hlogo { flex:0 0 auto; display:flex; align-items:center; gap:0; text-decoration:none; }
#dd-header .dd-hlogo img { height:46px; width:auto; display:block; flex:0 0 auto; transition:transform .3s ease, height .25s ease; }
#dd-header .dd-hlogo:hover img { transform:scale(1.05); }
/* brand wordmark next to the emblem — same look as the hero (white General Sans + handwritten gold Caveat) */
#dd-header .dd-hwordmark { display:inline-flex; align-items:baseline; gap:0; margin-left:2px; font-family:'General Sans',sans-serif; font-weight:600; font-size:23px; line-height:1; color:#fff; white-space:nowrap; text-shadow:0 1px 14px rgba(18,22,12,.55); }
#dd-header .dd-hwm-accent { font-family:'Caveat',cursive; font-weight:600; font-size:1.42em; color:#ecca9f; transform:rotate(-3deg); display:inline-block; margin-left:-0.06em; }
#dd-header .dd-hmenu { margin-left:auto; display:flex; align-items:center; gap:26px; }
#dd-header .dd-hnav { display:flex; align-items:center; gap:24px; }
#dd-header .dd-hnav a { font-family:'General Sans',sans-serif; font-size:15px; font-weight:500; color:rgba(255,255,255,0.92); text-decoration:none; white-space:nowrap; transition:color .2s ease; }
#dd-header .dd-hnav a:hover { color:#c39c77; }
#dd-header .dd-hcta { flex:0 0 auto; background:transparent; color:#fff !important; padding:11px 24px; border:1.5px solid rgba(255,255,255,0.55); border-radius:40px; font-family:'General Sans',sans-serif; font-weight:600; font-size:14px; letter-spacing:.3px; text-decoration:none; white-space:nowrap; transition:background .2s ease, color .2s ease, border-color .2s ease; }
#dd-header .dd-hcta:hover { background:#fff; color:#333d2b !important; border-color:#fff; }
/* hamburger — hidden on desktop, animates to an X when open */
#dd-header .dd-hburger { display:none; flex:0 0 auto; margin-left:auto; background:none; border:0; cursor:pointer; padding:9px; }
#dd-header .dd-hburger span { display:block; width:24px; height:2px; background:#fff; margin:5px 0; border-radius:2px; transition:transform .3s ease, opacity .2s ease; }
#dd-header.dd-menu-open .dd-hburger span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
#dd-header.dd-menu-open .dd-hburger span:nth-child(2) { opacity:0; }
#dd-header.dd-menu-open .dd-hburger span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media (max-width:1100px) { #dd-header .dd-hmenu { gap:18px; } #dd-header .dd-hnav { gap:18px; } #dd-header .dd-hdrbar { gap:18px; padding:10px 14px 10px 22px; } }
/* MOBILE: hamburger toggles a solid dark dropdown panel holding nav + search + CTA */
@media (max-width:980px) {
  #dd-header .dd-hdrbar { margin:10px 14px 0; padding:10px 14px 10px 20px; }
  #dd-header .dd-hlogo { gap:0; }
  #dd-header .dd-hlogo img { height:40px; }
  #dd-header .dd-hwordmark { font-size:19px; }
  #dd-header .dd-hburger { display:block; }
  #dd-header .dd-hmenu { display:none; position:absolute; top:calc(100% + 8px); left:0; right:0; margin:0; flex-direction:column; align-items:stretch; gap:0; background:#333d2b; box-shadow:0 16px 34px rgba(0,0,0,.3); padding:6px 0 18px; border-radius:22px; border:1px solid rgba(255,255,255,0.12); }
  #dd-header.dd-menu-open .dd-hmenu { display:flex; }
  #dd-header .dd-hnav { flex-direction:column; align-items:stretch; gap:0; width:100%; }
  #dd-header .dd-hnav a { padding:14px 28px; border-bottom:1px solid rgba(255,255,255,0.08); font-size:16px; }
  #dd-header .dd-hsearch { width:auto; margin:12px 28px 0; padding:0; gap:8px; }
  #dd-header .dd-hsearch-in { position:static; transform:none; width:100%; flex:1; height:46px; padding:0 16px; margin:0; opacity:1; pointer-events:auto; background:#fff; box-shadow:none; border:1px solid rgba(0,0,0,.12); }
  #dd-header .dd-hsearch-btn { color:#fff; padding:8px; }
  #dd-header .dd-hcta { margin:16px 28px 0; text-align:center; }
}
@media (max-width:440px) {
  #dd-header .dd-hlogo img { height:36px; }
  #dd-header .dd-hlogo { gap:0; }
  #dd-header .dd-hwordmark { font-size:16px; }
}/* End custom CSS */