/* Page-scoped canvas layout. Set the local content width independently of the site's kit. */
:is(.ec-section,.ec-footer,.ec-header){--ec-ink:#172218;--ec-olive:#53731f;--ec-cream:#fcf8f1;--ec-line:#dfdfcc;--ec-shadow:0 6px 18px #7e552215;--gap:18px;font-family:Arial,Helvetica,sans-serif;color:var(--ec-ink);background:var(--ec-cream);box-sizing:border-box}
.e-con:is(.ec-section,.ec-header,.ec-footer){width:100%;max-width:none;--width:100%;padding:0;gap:0}
.e-con.ec-section{padding-block:clamp(48px,5.8vw,90px);background:linear-gradient(140deg,#fffdf8,#fbf6ee)}
.ec-section::after {content:"";position:absolute;inset:auto 0 -1px;height:clamp(18px,2.8vw,46px);background:url(assets/section-wave.svg) center/100% 100% no-repeat;pointer-events:none}
.ec-section:not(.ec-hero)::before{content:"";position:absolute;inset:5px 6px auto auto;width:clamp(48px,8vw,130px);aspect-ratio:184/125;background:url(assets/walnut-sprig.svg) center/contain no-repeat;opacity:.72;pointer-events:none}
.e-con.ec-inner{width:min(1248px,calc(100% - clamp(32px,7vw,96px)));--width:min(1248px,calc(100% - clamp(32px,7vw,96px)));margin-inline:auto;padding:0;gap:clamp(15px,1.65vw,26px)}
.ec-inner .e-con{min-width:0;padding:0;gap:14px}
.ec-inner .elementor-widget{min-width:0;margin:0}
.ec-inner .elementor-widget-text-editor {font:400 clamp(15px,1.25vw,19px)/1.45 Arial,sans-serif;color:#354037}
.ec-inner :is(p,ul){margin-block:0}
.ec-inner p+p{margin-top:.7em}
.ec-inner .elementor-widget-heading :where(.elementor-heading-title){color:var(--ec-ink);font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.05;letter-spacing:-.032em}
.ec-inner h1.elementor-heading-title{font-size:clamp(47px,5.7vw,89px);white-space:pre-line}
.ec-inner h2.elementor-heading-title{font-size:clamp(31px,3.5vw,56px)}
.ec-inner h3.elementor-heading-title{font-size:clamp(20px,2vw,31px)}
.ec-inner h4.elementor-heading-title{font:650 16px/1.25 Arial,sans-serif}
.ec-inner .ec-eyebrow .elementor-heading-title{color:#547325;font:700 14px/1.3 Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase}
.ec-eyebrow .elementor-heading-title:after{content:"";width:38px;height:1px;background:#80964f;display:inline-block;vertical-align:middle;margin-left:12px}
.ec-inner .ec-accent .elementor-heading-title{font:italic 700 clamp(47px,6.1vw,94px)/.95 Georgia,serif;color:#4b6822}
.ec-inner .ec-btn{width:auto}
.ec-inner .ec-btn .elementor-button{background:#4f6928;color:white;font:600 15px/1.25 Arial;border-radius:99px;padding:13px 21px;transition:background .2s,transform .2s}
.ec-inner .ec-btn .elementor-button:hover{background:#354c1a;transform:translateY(-1px)}
.ec-inner .ec-secondary .elementor-button{background:#f3eedf;color:#354723}
.e-con.ec-row{display:flex;flex-direction:row;align-items:center;gap:14px}
.e-con.ec-grid,.e-con.ec-split,.e-con.ec-hero-row,.e-con.ec-footer-row{display:grid;align-items:start;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr))}
.ec-n2{--cols:2}.ec-n3{--cols:3}.ec-n4{--cols:4}.ec-n5{--cols:5}.ec-n6{--cols:6}
.e-con.ec-split{grid-template-columns:minmax(0, .92fr) minmax(0,1.45fr);align-items:center;gap:clamp(16px,3vw,48px)}
.e-con.ec-hero-row{grid-template-columns:.88fr 1.4fr;align-items:center}
.ec-hero-photo img{width:100%;aspect-ratio:1.45;object-fit:cover}
.ec-inner .elementor-widget-image img{border-radius:clamp(13px,1.6vw,28px)}
.ec-header{background:#fffdf8}
.e-con.ec-bar{padding-block:12px;justify-content:space-between;flex-wrap:wrap}
.ec-bar .ec-brand,.ec-bar .ec-menu{width:auto;gap:3px}
.ec-brand .elementor-heading-title{font-size:26px}.ec-brand .elementor-widget-text-editor{font-size:10px;letter-spacing:.16em}
.ec-bar .ec-menu{display:flex;flex-direction:row;gap:2px;flex-wrap:wrap}
.ec-bar .ec-navlink .elementor-button{background:transparent;color:#283624;padding:10px;font-weight:500}
.ec-bar .ec-navlink .elementor-button:hover{color:#598024;background:#f2f4e9}
.ec-inner .e-con:is(.ec-card,.ec-stat,.ec-panel){padding:clamp(12px,1.45vw,23px);border-radius:24px;background:#fffaf1;box-shadow:var(--ec-shadow)}
.ec-inner .e-con.ec-panel{background:#f0f2e2;box-shadow:none}
.ec-inner .e-con.ec-warm{background:#fbf0df}
.ec-inner .e-con.ec-stat{align-items:center;text-align:center;justify-content:center;gap:6px}
.ec-stat .elementor-widget-text-editor,.ec-inner .ec-note{font-size:14px}
.ec-inner .ec-num .elementor-heading-title{font:bold clamp(19px,2vw,30px)/1.1 Georgia,serif}
.ec-list ul{padding:0;list-style:none}
.ec-list li{position:relative;padding:4px 0 4px 22px}
.ec-list li:before{content:"✓";position:absolute;left:0;color:#648728;font-weight:bold}
.ec-lines li+li{border-top:1px solid #d9d9c4}
.ec-details .elementor-tab-title a{color:#47612a}
.ec-inner .ec-stock{gap:8px;overflow:hidden;text-align:center;padding:0 0 15px}
.ec-stock .elementor-widget-image img{width:100%;aspect-ratio:1.4;object-fit:cover}
.ec-stock h3.elementor-heading-title{font:700 18px/1.2 Arial,sans-serif}
.ec-inner .ec-idea{padding:8px;gap:16px}
.ec-idea>.elementor-widget-image{width:36%;flex:none}
.ec-idea img{width:100%;aspect-ratio:1.75;object-fit:cover}
.ec-icon img{height:44px;width:auto}
.e-con.ec-footer{background:#334d22 url(assets/contact-foliage.webp) center/cover;color:white}
.e-con.ec-footer-row{align-items:center;grid-template-columns:.8fr 1.25fr;padding-block:48px}
.ec-footer-row>div:first-child{border-right:1px solid #dce3cd}
.ec-footer .elementor-widget-text-editor,.ec-footer .elementor-heading-title{color:#fffdf4}
.ec-footer h2.elementor-heading-title{font-size:clamp(25px,2.7vw,43px)}
.ec-footer .ec-price .elementor-heading-title{font-size:clamp(45px,6vw,88px);text-decoration:underline;text-decoration-color:#e9ce38;text-underline-offset:9px;text-decoration-thickness:3px}
.ec-footer .ec-btn .elementor-button{background:#fff6d9;color:#24481b;font-size:clamp(16px,1.65vw,26px)}
.ec-social{width:42px;flex:none}.ec-social img{width:42px;height:auto}
.ce-gallery{min-width:0;text-align:center}
.ce-frame{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(0,1fr);gap:10px}
.ce-gallery button,.ce-modal button{font:inherit;cursor:pointer;color:#314724;border:0;background:#fffaf3;border-radius:50%;padding:0}
.ce-gallery button:hover,.ce-modal button:hover{color:#283d19;background:#edf1de}
.ce-gallery button:focus-visible,.ce-modal button:focus-visible{outline:3px solid #718e33;outline-offset:2px}
.ce-frame button{overflow:hidden;display:block;border-radius:19px;width:100%;height:100%;line-height:0;min-height:0}
.ce-frame img{width:100%;height:100%;object-fit:cover;transition:transform .28s}
.ce-frame button:hover img{transform:scale(1.025)}
.ce-large{aspect-ratio:1.12}
.ce-thumbs{display:grid;grid-auto-rows:minmax(0,1fr);gap:8px;min-height:0;height:100%;position:relative}
.ce-thumbs button{position:relative}.ce-thumbs img{position:absolute;inset:0}
.ce-single .ce-frame,.ce-gallery[data-layout=below] .ce-frame{grid-template-columns:1fr}
.ce-gallery[data-layout=below] .ce-large,.ce-single .ce-large{aspect-ratio:1.85}
.ce-gallery[data-layout=below] .ce-thumbs{grid-template-columns:repeat(4,1fr);height:auto}
.ce-gallery[data-layout=below] .ce-thumbs button{aspect-ratio:1.65}
.ce-albums,.ce-controls,.ce-modal>div{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.ce-albums{margin-bottom:14px}.ce-albums button{border-radius:30px;background:#f1efdf;padding:7px 13px}
.ce-albums button[aria-pressed=true]{background:#526d2b;color:white}
.ce-controls{margin:10px 0;color:#556047;font:14px/1.2 Arial,sans-serif}
.ce-controls button,.ce-modal [data-step]{width:34px;height:34px;font-size:25px;line-height:1;box-shadow:0 2px 9px #3633271b}
.ce-gallery [hidden]{display:none!important}
.ce-modal{width:min(94vw,1100px);max-height:94vh;border:0;background:#fcfaf4;border-radius:20px;padding:14px;text-align:center}
.ce-modal::backdrop{background:#162013df}
.ce-modal>img{width:100%;height:min(72vh,750px);object-fit:contain}
.ce-modal [data-close]{position:absolute;top:12px;right:12px;width:38px;height:38px;font-size:25px}
.ce-modal p{margin:7px 0}.ec-section{scroll-margin-top:12px}
@media(max-width:1024px){
 .ec-grid.ec-n6,.ec-grid.ec-n5{--cols:3}.ec-inner .ec-split{grid-template-columns:1fr 1.15fr}.ec-split .ec-n4{--cols:2}
}
@media(max-width:767px){
 .e-con.ec-hero-row,.e-con.ec-split,.e-con.ec-footer-row,.ec-grid.ec-n2,.ec-grid.ec-n3{grid-template-columns:1fr}
 .ec-grid.ec-n4,.ec-grid.ec-n5,.ec-grid.ec-n6,.ec-split .ec-grid.ec-n3{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ec-inner .ec-row:not(.ec-split,.ec-idea,.ec-hero-row,.ec-footer-row){flex-wrap:wrap}
 .ec-bar .ec-menu{order:3;width:100%;justify-content:center}.ec-bar .ec-menu .elementor-button{padding:5px 8px;font-size:13px}
 .ec-footer-row>div:first-child{border:0}.ec-social,.ec-social img{width:34px}
 .ec-inner .ec-hero-photo img{aspect-ratio:1.7}
 .ce-frame{gap:6px}.ce-frame button{border-radius:12px}.ce-thumbs{gap:5px}
}
@media(prefers-reduced-motion:no-preference){
 @supports(animation-timeline:view()) {.ec-section .ec-inner{animation:ce-enter both linear;animation-timeline:view();animation-range:entry 0% entry 14%}}
 @keyframes ce-enter{from{transform:translateY(9px)}to{transform:translateY(0)}}
}

.ec-hero .ec-stat:nth-child(1)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-home.svg) center/contain no-repeat}
.ec-hero .ec-stat:nth-child(2)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-rooms.svg) center/contain no-repeat}
.ec-hero .ec-stat:nth-child(3)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-plot.svg) center/contain no-repeat}
.ec-hero .ec-stat:nth-child(4)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-car.svg) center/contain no-repeat}
.ec-hero .ec-stat:nth-child(5)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-pin.svg) center/contain no-repeat}
.ec-house .ec-stat:nth-child(1)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-home.svg) center/contain no-repeat}
.ec-house .ec-stat:nth-child(2)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-rooms.svg) center/contain no-repeat}
.ec-house .ec-stat:nth-child(3)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-plot.svg) center/contain no-repeat}
.ec-house .ec-stat:nth-child(4)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-rooms.svg) center/contain no-repeat}
.ec-garden .ec-stat:nth-child(1)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-tree.svg) center/contain no-repeat}
.ec-garden .ec-stat:nth-child(2)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-leaf.svg) center/contain no-repeat}
.ec-garden .ec-stat:nth-child(3)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-home.svg) center/contain no-repeat}
.ec-garden .ec-stat:nth-child(4)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-tree.svg) center/contain no-repeat}
.ec-buildings .ec-stat:nth-child(1)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-car.svg) center/contain no-repeat}
.ec-buildings .ec-stat:nth-child(2)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-home.svg) center/contain no-repeat}
.ec-buildings .ec-stat:nth-child(3)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-home.svg) center/contain no-repeat}
.ec-buildings .ec-stat:nth-child(4)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-rooms.svg) center/contain no-repeat}
.ec-buildings .ec-stat:nth-child(5)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-plot.svg) center/contain no-repeat}
.ec-buildings .ec-stat:nth-child(6)::after{content:"";position:static;order:-1;width:34px;height:34px;background:url(assets/icon-home.svg) center/contain no-repeat}
.ec-advantages .ec-warm li:nth-child(1)::before{content:"";width:25px;height:27px;background:url(assets/adv-home.webp) center/contain no-repeat;mix-blend-mode:multiply}
.ec-advantages .ec-warm li:nth-child(2)::before{content:"";width:25px;height:27px;background:url(assets/adv-utility.webp) center/contain no-repeat;mix-blend-mode:multiply}
.ec-advantages .ec-warm li:nth-child(3)::before{content:"";width:25px;height:27px;background:url(assets/adv-road.webp) center/contain no-repeat;mix-blend-mode:multiply}
.ec-advantages .ec-warm li:nth-child(4)::before{content:"";width:25px;height:27px;background:url(assets/adv-train.webp) center/contain no-repeat;mix-blend-mode:multiply}
.ec-advantages .ec-warm li:nth-child(5)::before{content:"";width:25px;height:27px;background:url(assets/adv-sound.webp) center/contain no-repeat;mix-blend-mode:multiply}
.ec-advantages .ec-warm li{padding-left:34px}
.ec-header .ec-skip:not(:focus-within){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:767px){.ec-materials .ec-n5{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.ec-materials .ec-stock{scroll-snap-align:start}}

/* Elementor supplies the cover and overlay from the outer container's Style tab. */
.e-con.ec-hero.ce-cover{isolation:isolate;background-color:#fcf8f1}
.ec-hero.ce-cover .ec-hero-row{display:flex;flex-direction:column;align-items:flex-start}
.ec-hero.ce-cover .ec-hero-row>.e-con{width:min(100%,520px)}
.ec-hero.ce-cover .ec-inner{position:relative;z-index:1}
.ec-hero.ce-cover::after{z-index:2}
.ec-hero.ce-cover .ec-stat{background:rgba(255,252,243,.94)}
.e-con.ec-grid.ce-native-grid{display:var(--display,grid);grid-template-columns:var(--e-con-grid-template-columns);grid-template-rows:var(--e-con-grid-template-rows,auto);gap:var(--row-gap,14px) var(--column-gap,14px);padding:var(--padding-top,0) var(--padding-right,0) var(--padding-bottom,0) var(--padding-left,0)}
@media(max-width:767px){
 .ec-hero.ce-cover{padding-top:clamp(170px,50vw,300px)}
 .ec-hero.ce-cover .ec-hero-row>.e-con:first-child{padding:18px;background:rgba(252,248,241,.94);border-radius:18px}
 .ec-materials .ec-grid.ce-native-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto}
}
