/* Greenfield Housing: site wide additions (header badges, boxed layout, enquiry popup). */

/* "New" badge inside the header dropdown menus (matches the top bar badge). */
.gf-nav .dd-menu a .nav-new{display:inline-flex;align-items:center;gap:3px;margin-left:8px;vertical-align:middle;font-family:var(--font-sans);font-size:9px;line-height:1;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff;background:linear-gradient(135deg,#006837 0%,#3c9a4a 100%);padding:4px 7px 4px 6px;border-radius:6px 6px 6px 1px;box-shadow:0 6px 14px -6px rgba(0,104,55,.7);pointer-events:none;transition:background .25s,color .25s}
.gf-nav .dd-menu a .nav-new::before{content:"\2726";color:#d6ff7e;font-size:9px;letter-spacing:0}
.gf-nav .dd-menu a:hover .nav-new,.gf-nav .dd-menu a:focus-visible .nav-new{background:#d6ff7e;color:#006837}
.gf-nav .dd-menu a:hover .nav-new::before,.gf-nav .dd-menu a:focus-visible .nav-new::before{color:#006837}
.gf-nav .dd:has(.nav-new) .dd-menu:not(#gfx):not(#gfy){width:240px}
.gf-nav .nav-logo:not(#gfx):not(#gfy){flex:none}

/* Box width layout: section backgrounds run full width; content (header, sections, footer) stays inside the 1440px box. */
.site-head .gf-nav:not(#gfx):not(#gfy){max-width:1440px;margin-left:auto;margin-right:auto;box-sizing:border-box}

/* Enquiry / site visit form: centred popup on tablet and desktop on every page (phones keep the bottom sheet). */
@media (min-width:761px){
  body.gf .msheet-wrap:not(#gfx):not(#gfy){display:block;position:fixed;inset:0;z-index:240}
  body.gf .msheet-bg:not(#gfx):not(#gfy){position:absolute;inset:0;border:0;padding:0;background:rgba(4,32,17,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;animation:gfPopFade .3s ease both}
  body.gf .msheet:not(#gfx):not(#gfy){position:absolute;left:50%;top:50%;right:auto;bottom:auto;width:460px;max-width:calc(100% - 40px);max-height:88vh;overflow-y:auto;box-sizing:border-box;background:#ffffff;border-radius:26px;padding:28px 28px 24px;box-shadow:0 30px 70px -20px rgba(0,0,0,.45);transform:translate(-50%,-50%);animation:gfPopIn .4s cubic-bezier(.16,1,.3,1) both}
  body.gf .msheet-wrap.abs .msheet:not(#gfx):not(#gfy){top:50%;transform:translate(-50%,-50%);max-height:88vh}
  body.gf .msheet-grip:not(#gfx):not(#gfy){display:none}
  body.gf .msheet-x:not(#gfx):not(#gfy){position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:999px;border:0;background:#f0f1f2;color:#1e1e1e;display:grid;place-items:center;cursor:pointer}
  body.gf .msheet-x svg:not(#gfx):not(#gfy){width:18px;height:18px}
}
@keyframes gfPopFade{from{opacity:0}to{opacity:1}}
@keyframes gfPopIn{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
body.gf-sheet-open{overflow:hidden}

/* Enquiry popup contents on tablet and desktop (same as the phone sheet / project pages). */
@media (min-width:761px){
  body.gf .ms-head:not(#gfx):not(#gfy){display:flex;align-items:center;gap:14px;padding-right:44px}
  body.gf .ms-ico:not(#gfx):not(#gfy){width:48px;height:48px;border-radius:16px;background:#006837;color:#d6ff7e;display:grid;place-items:center;flex:none}
  body.gf .ms-ico svg:not(#gfx):not(#gfy){width:22px;height:22px}
  body.gf .ms-k:not(#gfx):not(#gfy){margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#619f83}
  body.gf .ms-t:not(#gfx):not(#gfy){margin:2px 0 0;font-family:var(--font-display);font-weight:600;font-size:24px;line-height:30px;color:#0b2e1c}
  body.gf .ms-p:not(#gfx):not(#gfy){margin:12px 0 16px;font-size:15px;line-height:24px;color:#4a564f}
  body.gf .ms-list:not(#gfx):not(#gfy){list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:10px}
  body.gf .ms-list li:not(#gfx):not(#gfy){display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:#f3f8ef}
  body.gf .ms-li-ico:not(#gfx):not(#gfy){width:34px;height:34px;border-radius:999px;background:#ffffff;color:#006837;display:grid;place-items:center;flex:none;border:1px solid #dbe8d3}
  body.gf .ms-li-ico svg:not(#gfx):not(#gfy){width:16px;height:16px}
  body.gf .ms-list small:not(#gfx):not(#gfy){display:block;font-size:12px;color:#7a857f;font-weight:600;letter-spacing:.02em}
  body.gf .ms-list a:not(#gfx):not(#gfy){font-family:var(--font-display);font-weight:600;font-size:17px;color:#006837;text-decoration:none}
  body.gf .ms-list span:not(#gfx):not(#gfy){font-size:14px;line-height:21px;color:#2d2e2e}
  body.gf .ms-call:not(#gfx):not(#gfy){display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;padding:15px 18px;border-radius:999px;background:#006837;color:#d6ff7e;text-decoration:none;font-family:var(--font-display);font-weight:600;font-size:17px;box-shadow:0 12px 24px -12px rgba(0,104,55,.7)}
  body.gf .ms-call:hover:not(#gfx):not(#gfy){color:#ffffff}
  body.gf .ms-call svg:not(#gfx):not(#gfy){width:20px;height:20px}
  body.gf .ms-alt:not(#gfx):not(#gfy){display:block;width:100%;margin-top:10px;padding:12px;border:0;background:transparent;color:#006837;font-family:var(--font-display);font-weight:600;font-size:15px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
  body.gf .ms-form:not(#gfx):not(#gfy){display:flex;flex-direction:column;gap:12px}
  body.gf .ms-f:not(#gfx):not(#gfy){display:flex;flex-direction:column;gap:6px}
  body.gf .ms-f span:not(#gfx):not(#gfy){font-size:12px;font-weight:600;color:#006837}
  body.gf .ms-f input:not(#gfx):not(#gfy),body.gf .ms-f select:not(#gfx):not(#gfy){width:100%;box-sizing:border-box;font:16px/22px var(--font-sans);color:#1e1e1e;background:#f3f8ef;border:1.5px solid #dbe8d3;border-radius:14px;padding:13px 14px;outline:none}
  body.gf .ms-f input:focus:not(#gfx):not(#gfy),body.gf .ms-f select:focus:not(#gfx):not(#gfy){border-color:#006837;background:#ffffff}
  body.gf .ms-consent:not(#gfx):not(#gfy){display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:19px;color:#4a564f}
  body.gf .ms-consent input:not(#gfx):not(#gfy){margin-top:2px;width:18px;height:18px;accent-color:#006837;flex:none}
  body.gf .ms-err:not(#gfx):not(#gfy){margin:-6px 0 0;font-size:13px;font-weight:600;color:#e84a43}
  body.gf .ms-submit:not(#gfx):not(#gfy){margin-top:4px;padding:15px 18px;border:0;border-radius:999px;background:#006837;color:#d6ff7e;font-family:var(--font-display);font-weight:600;font-size:17px;cursor:pointer}
  body.gf .ms-done:not(#gfx):not(#gfy){text-align:center;padding:10px 0 4px}
  body.gf .ms-done-ico:not(#gfx):not(#gfy){width:64px;height:64px;margin:6px auto 12px;border-radius:999px;background:#d6ff7e;color:#006837;display:grid;place-items:center}
  body.gf .ms-done-ico svg:not(#gfx):not(#gfy){width:30px;height:30px}
}

/* Rounded page heroes, like the home page hero (other sections keep full width backgrounds). */
:root{--gf-inset:16px;--gf-r:36px}
@media (max-width:1024px){:root{--gf-inset:12px;--gf-r:30px}}
@media (max-width:760px){:root{--gf-inset:10px;--gf-r:26px}}
body.gf .gf-main section.page-hero:not(#gfx):not(#gfy),body.gf .gf-main section.svc-hero:not(#gfx):not(#gfy),body.gf .gf-main section.dhero:not(#gfx):not(#gfy),body.gf .gf-main section.post-hero:not(#gfx):not(#gfy),body.gf .gf-main section.da-hero:not(#gfx):not(#gfy),body.gfp-about .gf-main section.rv-cta:not(#gfx):not(#gfy){margin:var(--gf-inset);border-radius:var(--gf-r);overflow:hidden;isolation:isolate}
body.gf .gf-main section.page-hero .wrap:not(#gfx):not(#gfy),body.gf .gf-main section.svc-hero .wrap:not(#gfx):not(#gfy),body.gf .gf-main section.dhero .wrap:not(#gfx):not(#gfy),body.gf .gf-main section.post-hero .wrap:not(#gfx):not(#gfy),body.gf .gf-main section.da-hero .wrap:not(#gfx):not(#gfy),body.gfp-about .gf-main section.rv-cta .wrap:not(#gfx):not(#gfy){padding-left:max(0px,calc(var(--page_gutter) - var(--gf-inset)));padding-right:max(0px,calc(var(--page_gutter) - var(--gf-inset)))}

/* Rounded cards, media and tiles inside sections. */
body.gf .gf-main .pcard:not(#gfx):not(#gfy),body.gf .gf-main .plot:not(#gfx):not(#gfy),body.gf .gf-main .svc-media:not(#gfx):not(#gfy),body.gf .gf-main .svc-row:not(#gfx):not(#gfy),body.gf .gf-main .ph:not(#gfx):not(#gfy),body.gf .gf-main .leader:not(#gfx):not(#gfy),body.gf .gf-main .post:not(#gfx):not(#gfy),body.gf .gf-main .gf-testi:not(#gfx):not(#gfy),body.gf .gf-main .gf-card:not(#gfx):not(#gfy),body.gf .gf-main .feature:not(#gfx):not(#gfy),body.gf .gf-main .step:not(#gfx):not(#gfy),body.gf .gf-main .da-vt:not(#gfx):not(#gfy),body.gf .gf-main .da-q:not(#gfx):not(#gfy),body.gf .gf-main .da-map:not(#gfx):not(#gfy),body.gf .gf-main .da-g:not(#gfx):not(#gfy),body.gf .gf-main .cgv:not(#gfx):not(#gfy),body.gf .gf-main .da-photo:not(#gfx):not(#gfy),body.gf .gf-main .da-lm:not(#gfx):not(#gfy),body.gf .gf-main .da-layout:not(#gfx):not(#gfy),body.gf .gf-main .da-enq:not(#gfx):not(#gfy),body.gf .gf-main .da-facts-in:not(#gfx):not(#gfy),body.gf .gf-main .cgv-fallback:not(#gfx):not(#gfy){border-radius:24px;overflow:hidden;isolation:isolate}
body.gf .gf-main .std-item:not(#gfx):not(#gfy),body.gf .gf-main .da-am:not(#gfx):not(#gfy),body.gf .gf-main .amen:not(#gfx):not(#gfy),body.gf .gf-main .gf-amenity:not(#gfx):not(#gfy),body.gf .gf-main .da-stat:not(#gfx):not(#gfy),body.gf .gf-main .da-phase:not(#gfx):not(#gfy),body.gf .gf-main .da-map-tag:not(#gfx):not(#gfy){border-radius:16px}
body.gf .gf-main .gf-formbox:not(#gfx):not(#gfy),body.gf .gf-main .plot-facts:not(#gfx):not(#gfy),body.gf .gf-main .da-stats:not(#gfx):not(#gfy),body.gf .gf-main .svc-link:not(#gfx):not(#gfy){border-radius:20px}

/* Popup form message box (matches the other fields). */
body.gf .ms-f textarea:not(#gfx):not(#gfy){width:100%;box-sizing:border-box;font:16px/22px var(--font-sans);color:#1e1e1e;background:#f3f8ef;border:1.5px solid #dbe8d3;border-radius:14px;padding:13px 14px;outline:none;resize:vertical;min-height:84px}
body.gf .ms-f textarea:focus:not(#gfx):not(#gfy){border-color:#006837;background:#ffffff}

/* Keep content inside the 1440px box on wide screens (backgrounds stay full width). */
:root{--gf-box:1440px}
body.gf footer.gf-footer:not(#gfx):not(#gfy){padding-left:max(var(--page_gutter),calc((100% - var(--gf-box)) / 2 + var(--page_gutter)));padding-right:max(var(--page_gutter),calc((100% - var(--gf-box)) / 2 + var(--page_gutter)))}
body.gf .sh-track:not(#gfx):not(#gfy),body.gf .vt-track:not(#gfx):not(#gfy){max-width:var(--gf-box);margin-left:auto;margin-right:auto;box-sizing:border-box}
body.gf .fh-frame:not(#gfx):not(#gfy){padding-left:max(56px,calc((100% - var(--gf-box)) / 2 + var(--page_gutter)));padding-right:max(56px,calc((100% - var(--gf-box)) / 2 + var(--page_gutter)))}
body.gf .gf-main section.svc-hero:not(#gfx):not(#gfy),body.gf .gf-main section.dhero:not(#gfx):not(#gfy),body.gf .gf-main section.page-hero:not(#gfx):not(#gfy),body.gf .gf-main section.post-hero:not(#gfx):not(#gfy),body.gf .gf-main section.da-hero:not(#gfx):not(#gfy){padding-left:max(0px,calc((100% - var(--gf-box)) / 2));padding-right:max(0px,calc((100% - var(--gf-box)) / 2))}
@media (min-width:1600px){body.gf .fh-badge:not(#gfx):not(#gfy){right:calc((100% - var(--gf-box)) / 2 + 32px)}}
body.gf .gf-main section.gfs-c025e21e:not(#gfx):not(#gfy){padding-left:max(var(--page_gutter),calc((100% - var(--gf-box)) / 2 + var(--page_gutter)));padding-right:max(var(--page_gutter),calc((100% - var(--gf-box)) / 2 + var(--page_gutter)))}
body.gf .gf-main .rimg:not(#gfx):not(#gfy),body.gf .gf-main .tl-thumb:not(#gfx):not(#gfy),body.gf .gf-main .rimg img:not(#gfx):not(#gfy){border-radius:24px;overflow:hidden}

/* Unpin sticky side headings once layouts stack into one column (they floated over the content on phones). */
@media (max-width:760px){body.gf .gfs-d53ebf7d:not(#gfx):not(#gfy):not(#gfz),body.gf .gfs-35a5dea3:not(#gfx):not(#gfy):not(#gfz),body.gf .bside:not(#gfx):not(#gfy):not(#gfz),body.gf .hist-side:not(#gfx):not(#gfy):not(#gfz){position:static}}
@media (max-width:1024px){body.gf .rv-history .hist-side:not(#gfx):not(#gfy):not(#gfz){position:static}}

/* Home film plays inside the hero card. */
body.gf .gf-inline-film{position:absolute;inset:0;z-index:8;background:#000000;border-radius:inherit;overflow:hidden}
body.gf .gf-inline-film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
body.gf .gf-inline-film .gf-film-x{position:absolute;top:16px;right:16px;z-index:2;width:44px;height:44px;border-radius:999px;border:0;background:#d6ff7e;color:#006837;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
body.gf .gf-inline-film .gf-film-x svg{width:18px;height:18px}

/* Project layout box (project pages): size to its content like the design; Elementor's zero min-height collapsed it on phones. */
body.gf .gf-main .da-side .da-layout:not(#gfx):not(#gfy){min-height:auto;--min-height:auto;overflow:visible}
