/* Ville Estate. All presentation styles are scoped for safe theme embedding. */
body.ve-canvas-page{margin:0!important;padding:0!important;background:#f7f6f2}body.ve-canvas-page>.wp-site-blocks{padding:0}.ve{--paper:#f7f6f2;--ink:#273b32;--muted:#6b7069;--line:#dcded5;--gold:#b38c65;--serif:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.6;isolation:isolate;overflow:clip;text-align:left}.ve *,.ve *::before,.ve *::after{box-sizing:border-box}.ve [hidden]{display:none!important}.ve h1,.ve h2,.ve h3,.ve p,.ve ul,.ve figure{margin:0}.ve h1,.ve h2,.ve h3{font-family:var(--serif);font-weight:400;color:inherit;line-height:1.08;letter-spacing:-.045em;text-transform:none}.ve h2{font-size:clamp(38px,3.7vw,57px)}.ve p{max-width:none}.ve a{color:inherit;text-decoration:none}.ve button,.ve input,.ve select,.ve textarea{font:inherit}.ve button,.ve a,.ve input,.ve textarea,.ve select{-webkit-tap-highlight-color:transparent}.ve button{cursor:pointer;background:none;border:0;color:inherit;letter-spacing:normal;text-transform:none}.ve a,.ve button{touch-action:manipulation}.ve button:disabled{cursor:wait;opacity:.65}.ve img{display:block;max-width:100%;height:auto}.ve svg{display:block;width:22px;height:22px;flex:0 0 auto}.ve :focus-visible{outline:2px solid #bc8f59;outline-offset:5px}.ve ::selection{background:#d5bf99;color:#243a30}.ve section[id]{scroll-margin-top:100px}.ve-shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.ve-section{padding-block:110px}.ve-eyebrow{font-size:10px!important;font-weight:650;letter-spacing:2.3px;line-height:1.6;text-transform:uppercase;margin-bottom:24px!important;color:#73816e}.ve-light{color:#e2e7d9!important}.ve-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:15px 25px;border:1px solid transparent!important;border-radius:2px;font-size:12px!important;font-weight:600!important;line-height:1.5;letter-spacing:.1px;transition:background .2s,color .2s,transform .2s}.ve-button:hover{transform:translateY(-2px)}.ve-button svg{width:18px;height:18px}.ve-button-dark{background:var(--ink)!important;color:#fff!important}.ve-button-dark:hover{background:#3d5345!important}.ve-button-cream{background:#f7f6eb!important;color:#26382e!important}.ve-button-cream:hover{background:#e1e7d5!important}.ve-button-outline{border-color:#82917d!important;color:#f7f6eb!important}.ve-button-outline:hover{background:#3e5344!important}.ve-text-link{display:inline-flex;align-items:center;gap:20px;padding:8px 0;border-bottom:1px solid #b1bba9!important;font-size:12px!important;font-weight:550;line-height:1.5}.ve-text-link svg{width:17px;height:17px;transition:transform .2s}.ve-text-link:hover svg{transform:translateX(4px)}.ve-icon-button{display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;border-radius:50%;transition:background .2s}.ve-icon-button:hover{background:#ffffff20}.ve-caption{font-size:11px;line-height:1.7;color:var(--muted);margin-top:18px!important}.ve-skip{position:fixed;top:-100px;left:20px;background:#fff;padding:14px 22px;z-index:100001}.ve-skip:focus{top:10px}
/* Navigation and hero */
.ve-header{height:94px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:40;border-bottom:1px solid #dddcd355;gap:30px}.admin-bar .ve-header{top:32px}.ve-brand{display:block;font-family:var(--serif);font-size:25px;line-height:1.1;letter-spacing:3.8px;text-transform:uppercase;white-space:nowrap}.ve-brand small{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:8px;letter-spacing:3.05px;text-align:center;margin-top:9px}.ve-nav{display:flex;align-items:center;gap:30px;font-size:12px}.ve-nav>a:not(.ve-button){padding:10px 0;position:relative}.ve-nav>a:not(.ve-button)::after{content:'';position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--ink);transition:right .2s}.ve-nav>a:hover::after{right:0}.ve-nav .ve-button{min-height:45px;padding:12px 20px;gap:25px}.ve-menu{display:none!important}.ve-hero{position:relative;height:min(760px,calc(100svh - 94px));min-height:640px;color:white;background:#3a483a}.ve-hero-images,.ve-hero-shade{position:absolute;inset:0;overflow:hidden}.ve-hero-image{position:absolute;inset:0;width:100%;height:100%!important;object-fit:contain;object-position:right center;background:#213528;opacity:0;transition:opacity .6s ease}.ve-hero-image.is-active{opacity:1}.ve-hero-shade{background:linear-gradient(90deg,rgba(18,33,23,.73),rgba(16,29,22,.13) 75%),linear-gradient(0deg,rgba(11,26,16,.45),transparent 65%)}.ve-hero-top{position:absolute;top:30px;left:56px;right:56px;display:flex;justify-content:space-between;align-items:center;gap:20px}.ve-location-tag{display:flex;gap:9px;align-items:center;font-size:11px;letter-spacing:.9px}.ve-location-tag svg{width:16px;height:16px}.ve-hero-tools{display:flex;gap:8px}.ve-hero-tools .ve-icon-button{border:1px solid #ffffff60}.ve-save[aria-pressed=true] svg{fill:#eee4d4}.ve-hero-content{position:absolute;left:56px;bottom:118px;width:min(650px,70%)}.ve-hero .ve-eyebrow{font-size:9px!important;letter-spacing:2.8px;margin-bottom:22px!important}.ve-hero h1{font-size:clamp(58px,6.4vw,96px);line-height:.99;letter-spacing:-4px}.ve-hero-copy{font-size:14px;line-height:1.85;color:#f0f1e8;max-width:395px!important;margin-top:27px!important}.ve-hero-actions{display:flex;gap:30px;align-items:center;margin-top:31px}.ve-hero-actions .ve-text-link{border-color:#ffffff70!important}.ve-hero-bottom{position:absolute;left:56px;right:56px;bottom:24px;display:flex;justify-content:space-between;align-items:center}.ve-scroll-label{font-size:8px;letter-spacing:2.3px;display:flex;gap:20px;align-items:center}.ve-scroll-label span:not(.ve-i18n){font-size:20px}.ve-slider-controls{display:flex;gap:13px;align-items:center}.ve-slider-prev svg,.ve-lightbox-prev svg{transform:rotate(180deg)}.ve-slide-count{font-size:11px;letter-spacing:2px;min-width:62px;color:#e0e2d8}.ve-slide-count b{font-weight:600;color:white}.ve-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:40px 0;border-bottom:1px solid var(--line)}.ve-stats>div{display:flex;justify-content:center;gap:18px;align-items:center;border-right:1px solid var(--line);padding:3px 22px}.ve-stats>div:first-child{justify-content:flex-start;padding-left:0}.ve-stats>div:last-child{border:0;justify-content:flex-end;padding-right:0}.ve-stats svg{width:29px;height:29px;color:#79806d;stroke-width:1.2}.ve-stats strong{display:block;white-space:nowrap;font-size:29px;font-weight:400;font-family:var(--serif);line-height:1.4;letter-spacing:-.5px}.ve-stats em{font-style:normal;font-size:17px;letter-spacing:-.3px}.ve-stats small{display:block;font-size:10px;color:var(--muted);letter-spacing:.3px}
/* Story and gallery */
.ve-story{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.ve-story h2{margin-bottom:25px}.ve-body-copy{font-size:14px;color:var(--muted);line-height:1.95;max-width:465px!important}.ve-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px;margin:30px 0 34px;font-size:11px}.ve-feature-list > span{display:flex;align-items:center;gap:9px}.ve-feature-list svg{width:14px;height:14px;color:#8a936c}.ve-story-image{position:relative;height:580px}.ve-story-image>img{width:100%;height:100%;object-fit:cover;object-position:43% center}.ve-story-image::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#172419b8)}.ve-story-image figcaption{position:absolute;bottom:40px;left:34px;z-index:1;color:white}.ve-story-image figcaption > span{font-size:8px;letter-spacing:2.3px;display:block;margin-bottom:14px}.ve-story-image figcaption strong{font:400 39px/1.13 var(--serif);letter-spacing:-1px}.ve-image-index{position:absolute;top:22px;right:22px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2.5px;color:white;z-index:1}.ve-gallery-section{background:#eeeee7}.ve-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:36px}.ve-section-heading .ve-eyebrow{margin-bottom:18px!important}.ve-section-heading>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:300px;margin-bottom:3px}.ve-filter-list{display:flex;gap:8px;margin:0 0 28px;flex-wrap:wrap}.ve-filter-list button{padding:9px 19px;border:1px solid transparent;border-radius:30px;font-size:11px;min-height:40px}.ve-filter-list button.is-active{background:var(--ink);color:#fff}.ve-filter-list button:not(.is-active):hover{border-color:#b6bbaa}.ve-filter-list span:not(.ve-i18n){font-size:9px;opacity:.7;margin-left:8px}.ve-gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.ve-gallery-card{position:relative;overflow:hidden;display:block;grid-column:span 2;padding:0!important;text-align:left;height:370px;width:100%;border-radius:2px}.ve-gallery-wide{grid-column:span 3}.ve-gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.ve-gallery-card::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#101b16b8)}.ve-gallery-card:hover img{transform:scale(1.045)}.ve-gallery-caption{position:absolute;left:27px;right:27px;bottom:25px;z-index:1;color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.ve-gallery-caption small{display:block;font-size:8px;letter-spacing:1.7px;margin-bottom:7px}.ve-gallery-caption strong{font:400 29px/1.1 var(--serif);letter-spacing:-.6px}.ve-round-arrow{border:1px solid #ffffff80;width:39px;height:39px;border-radius:50%;display:flex;justify-content:center;align-items:center;flex:0 0 auto}.ve-round-arrow svg{width:16px;height:16px}.ve-gallery-grid.is-filtered{grid-template-columns:repeat(2,1fr)}.ve-gallery-grid.is-filtered .ve-gallery-card{grid-column:auto}
/* Plans */
.ve-plans-section{background:#293e32;color:#f5f4e9}.ve-plans-section .ve-section-heading{margin-bottom:42px}.ve-plans-section .ve-eyebrow{color:#c9d4bf!important}.ve-plans-section h2{font-size:clamp(38px,3.6vw,55px)}.ve-plan-tabs{display:flex;border-bottom:1px solid #70826b;margin-bottom:34px}.ve-plan-tabs button{color:#c1cbb8;min-width:185px;padding:16px 25px 21px;font-size:12px;border-bottom:2px solid transparent;margin-bottom:-1px;position:relative;text-align:left}.ve-plan-tabs button span:not(.ve-i18n){margin-right:22px;font-size:9px;color:#9bae93}.ve-plan-tabs button.is-active{border-color:#e7e7d2;color:white}.ve-plan-panel{display:grid;grid-template-columns:1.12fr 1fr;gap:80px;align-items:center}.ve-plan-visual{height:520px;background:#f5f3ee!important;position:relative;display:flex;align-items:center;justify-content:center;padding:24px 24px 44px!important;border-radius:2px;width:100%;overflow:hidden}.ve-plan-crop{position:relative;display:block;overflow:hidden;height:100%;max-width:100%;flex:0 0 auto}.ve-plan-crop>img{position:absolute;display:block;height:auto}.ve-custom-plan{max-height:100%;width:100%;object-fit:contain}.ve-plan-enlarge{position:absolute;bottom:15px;right:18px;color:#566250;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.2px}.ve-plan-enlarge svg{width:14px;height:14px}.ve-floor-label{display:block;font-size:10px;letter-spacing:1.9px;text-transform:uppercase;color:#c5cdb6;margin-bottom:18px}.ve-plan-description h3{font-size:43px;max-width:380px}.ve-plan-description>p{font-size:13px;line-height:1.9;color:#d3dbca;margin-top:23px;max-width:370px}.ve-plan-description ul{list-style:none;padding:0;margin:25px 0 31px;display:grid;gap:12px}.ve-plan-description li{font-size:12px;display:flex;gap:12px;align-items:center}.ve-plan-description li svg{width:14px;height:14px;color:#b9caab}.ve-plan-description .ve-plan-note{font-size:10px;margin-top:22px;color:#bdcbb4;line-height:1.8}
/* Brochure and location */
.ve-brochure{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-block:105px}.ve-brochure-art{position:relative;height:455px;background:#e7e6dc;display:flex;align-items:center;justify-content:center;isolation:isolate}.ve-brochure-art>a{position:relative;height:360px;width:240px;transform:rotate(-5deg);box-shadow:5px 15px 28px #192e232b;transition:transform .35s}.ve-brochure-art>a:hover{transform:rotate(-2deg) translateY(-5px)}.ve-brochure-art img{width:100%;height:100%;object-fit:contain;background:white}.ve-brochure-back{position:absolute;width:242px;height:362px;background:#b6b89f;transform:rotate(5deg) translate(10px,0);z-index:-1}.ve-catalogue-mark{position:absolute;bottom:20px;font-size:8px;letter-spacing:2.6px;color:#6c7464}.ve-brochure-copy>p:not(.ve-eyebrow){font-size:14px;line-height:1.95;color:var(--muted);margin:24px 0 30px;max-width:370px}.ve-brochure-copy .ve-text-link{display:flex;width:max-content;margin-top:17px}.ve-location-section{background:#edeee6}.ve-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.ve-location-grid h2{font-size:clamp(36px,3.5vw,53px)}.ve-location-grid>div>p:not(.ve-eyebrow){font-size:13px;line-height:1.95;margin-top:24px;color:var(--muted);max-width:400px}.ve-address{display:flex;gap:13px;align-items:center;margin:28px 0 17px}.ve-address svg{width:25px;height:25px;color:#8a937d}.ve-address strong{font-weight:600;font-size:12px}.ve-address small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.ve-map{height:365px;position:relative;background:#d8decc;overflow:hidden;border:1px solid #d1d6c4}.ve-map-cover{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;isolation:isolate;background:repeating-radial-gradient(ellipse at 80% 15%,transparent 0 28px,#84937320 29px 30px,transparent 31px 46px),repeating-radial-gradient(ellipse at 0% 100%,transparent 0 45px,#89957c20 46px 47px,transparent 48px 65px)}.ve-map-cover::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#e1e5d6e6,transparent 80%);z-index:-1}.ve-map-pin{display:flex;justify-content:center;align-items:center;width:50px;height:50px;border-radius:50%;background:#f4f4e8;margin-bottom:13px;border:1px solid #adbba0}.ve-map-pin svg{width:22px}.ve-map-cover>strong{font:400 34px/1.2 var(--serif);letter-spacing:-1px}.ve-map-cover>span:not(.ve-map-pin){font-size:8px;letter-spacing:2.4px;margin-top:8px}.ve-map-cover .ve-button{margin-top:25px;min-height:44px;padding:12px 20px;font-size:10px!important;gap:18px}.ve-map-cover>small{font-size:9px;margin-top:11px;color:#61715a}.ve-map iframe{border:0;width:100%;height:100%;display:block}.ve-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.ve-faq>div>p:not(.ve-eyebrow){font-size:13px;line-height:1.9;color:var(--muted);margin:23px 0 16px}.ve-faq-list details{border-top:1px solid var(--line)}.ve-faq-list details:last-child{border-bottom:1px solid var(--line)}.ve-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;font-size:14px;line-height:1.6;padding:24px 0}.ve-faq-list summary::-webkit-details-marker{display:none}.ve-faq-list summary svg{width:17px;height:17px;transition:transform .2s;color:#849176}.ve-faq-list details[open] summary svg{transform:rotate(45deg)}.ve-faq-list details>div{font-size:12px;line-height:1.95;color:var(--muted);padding:0 32px 26px 0}
/* Contact form and footer */
.ve-contact-section{background:#2b3f33;color:#f5f5eb}.ve-contact-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:100px;align-items:start}.ve-contact-copy{padding-top:28px}.ve-contact-copy h2{font-size:clamp(38px,4vw,60px)}.ve-contact-copy>p:not(.ve-eyebrow){font-size:13px;line-height:1.9;color:#ccd7c3;max-width:370px;margin:28px 0 34px}.ve-contacts{max-width:410px}.ve-contact-card{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #64755e;padding:22px 0}.ve-contact-card:last-child{border-bottom:1px solid #64755e}.ve-contact-person{display:flex;align-items:center;gap:15px}.ve-initials{border:1px solid #809272;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:16px var(--serif);color:#c4d2b9;flex:0 0 auto}.ve-contact-person h3{font-family:inherit;font-size:13px;font-weight:500;letter-spacing:0;margin-bottom:7px}.ve-contact-person a{font-size:11px;letter-spacing:.45px;color:#c3d1b8;display:block}.ve-contact-actions{display:flex;gap:7px}.ve-contact-actions a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #748567;border-radius:50%;transition:background .2s}.ve-contact-actions a:hover{background:#536b46}.ve-contact-actions svg{width:15px;height:15px}.ve-form-card{background:#f7f6f0;color:var(--ink);padding:40px;border-radius:2px}.ve-form-card .ve-eyebrow{font-size:8px!important;letter-spacing:1.8px;margin-bottom:13px!important}.ve-form-card h3{font-size:34px;letter-spacing:-1px}.ve-form-intro{font-size:11px;color:var(--muted);margin:10px 0 26px!important}.ve-enquiry-form{position:relative}.ve-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px}.ve-field{display:block;font-size:10px;font-weight:600;line-height:1.7;min-width:0;position:relative;color:#364936}.ve-field>span:not(.ve-optional):not(.ve-i18n){color:#a87f54}.ve-field-full{grid-column:1/-1}.ve-optional{font-size:8px;color:#7f8679;font-weight:400;white-space:nowrap;margin-left:2px}.ve-field input,.ve-field select,.ve-field textarea{display:block;width:100%;border:1px solid #d9ddd0;border-radius:1px;background:#fffef9;color:#293e32;box-shadow:none;margin:6px 0 0;padding:11px 12px;font-size:12px;font-weight:400;line-height:1.5;min-height:43px;max-width:100%;outline-offset:2px}.ve-field select{padding-right:24px}.ve-field textarea{resize:vertical;min-height:86px}.ve-field input::placeholder,.ve-field textarea::placeholder{color:#8b9185;opacity:1}.ve-field input:focus,.ve-field select:focus,.ve-field textarea:focus{border-color:#75886c;outline:1px solid #75886c}.ve-field [aria-invalid=true]{border-color:#b35039}.ve-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.75;color:#6c7566;margin-top:17px;font-weight:400}.ve-checkbox input{appearance:auto!important;flex:0 0 auto;width:14px;height:14px;margin:2px 0 0;accent-color:var(--ink)}.ve-checkbox a{text-decoration:underline;text-underline-offset:2px}.ve-submit{width:100%;margin-top:21px;justify-content:space-between;min-height:49px}.ve-form-footnote{text-align:center;color:#78816f;font-size:9px;line-height:1.8;margin-top:12px!important}.ve-field-error{display:block;color:#a14330;font-size:10px;font-weight:400;line-height:1.6}.ve-field-error:not(:empty){margin-top:6px}.ve-form-status:empty{display:none}.ve-form-status,.ve-form-result{padding:14px 16px;background:#e8ecdf;border:1px solid #bdcba9;font-size:12px;line-height:1.8;margin-top:20px!important;overflow-wrap:anywhere}.ve-form-result{margin-bottom:20px!important}.ve-form-status.is-error,.ve-form-result.is-error{background:#faeee5;border-color:#d6a68d;color:#7e3524}.ve-form-status strong{display:block}.ve-honey{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.ve-footer{background:#1b2e24;color:#dfe8d6;padding:50px 0 23px}.ve-footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid #536446;padding-bottom:40px}.ve-footer .ve-brand{font-size:24px}.ve-footer .ve-brand small{font-size:7px;letter-spacing:2.4px}.ve-footer-top>div{display:flex;gap:30px;font-size:11px;color:#c4d0b9}.ve-back-top{width:39px;height:39px;border:1px solid #6e7e63;display:flex;align-items:center;justify-content:center;border-radius:50%}.ve-footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#afbea2;margin-top:21px}.ve-footer-bottom a{margin-left:16px;text-decoration:underline}
/* Contact widget, lightbox and feedback */
.ve-chat-widget{position:fixed;right:25px;bottom:25px;z-index:70}.ve-chat-toggle{display:flex;gap:11px;align-items:center;justify-content:center;color:white!important;background:#294b36!important;box-shadow:0 5px 24px #122f2340;border:1px solid #f1f4e53d!important;padding:13px 20px!important;border-radius:50px;font-size:11px;min-height:49px}.ve-chat-toggle:hover{background:#395f44!important}.ve-chat-toggle svg{width:20px}.ve-chat-panel{width:300px;max-width:calc(100vw - 40px);background:#f7f6f0;box-shadow:0 10px 50px #17281e33;border:1px solid #dddccd;border-radius:5px;padding:20px;margin-bottom:12px;color:#273b32}.ve-chat-panel>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.ve-chat-panel strong{font:400 22px/1.15 var(--serif);letter-spacing:-.5px}.ve-chat-panel p{font-size:11px;color:#718064;margin:10px 0 18px}.ve-chat-close{width:28px;height:28px}.ve-chat-close svg{width:17px}.ve-chat-panel>a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid #d8ddcc;font-size:12px}.ve-chat-panel small{display:block;font-size:10px;color:#707e66;margin-top:2px}.ve-chat-panel>a svg{width:19px}.ve-mobile-bar{display:none}.ve-toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,15px);background:#213729;color:white;border:1px solid #6c805a;padding:12px 22px;font-size:12px;border-radius:4px;max-width:calc(100% - 36px);text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100}.ve-toast.is-visible{opacity:1;transform:translate(-50%,0)}.ve-lightbox{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#15281bf5;color:#f6f4e9;z-index:1000;overflow:hidden}.ve-lightbox::backdrop{background:#112419e6}.ve-lightbox[open]{display:grid;grid-template-rows:65px minmax(0,1fr) 105px}.ve-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 28px;border-bottom:1px solid #64725b55}.ve-lightbox-toolbar>div{display:flex;gap:12px}.ve-lightbox-counter{font-size:11px;letter-spacing:2px}.ve-lightbox-stage{display:flex;align-items:center;justify-content:center;padding:20px 60px;overflow:auto;overscroll-behavior:contain}.ve-lightbox-image{width:100%;height:100%!important;max-width:1400px!important;object-fit:contain;transition:width .2s,height .2s;flex-shrink:0}.ve-lightbox-stage.is-zoomed{display:block;text-align:center}.ve-lightbox-stage.is-zoomed .ve-lightbox-image{max-width:none!important;width:180%;height:auto!important;object-fit:contain;margin:0 auto;cursor:zoom-out}.ve-lightbox-plan{display:flex;justify-content:center;align-items:center;height:100%;width:100%;max-width:650px;background:#f5f3ed;padding:20px}.ve-lightbox-plan .ve-plan-crop{height:100%}.ve-lightbox-plan .ve-custom-plan{height:100%;object-fit:contain}.ve-lightbox-stage.is-zoomed .ve-lightbox-plan{height:160%;width:100%;max-width:none;margin:0 auto}.ve-lightbox-bottom{display:flex;align-items:center;justify-content:space-between;padding:16px 30px;gap:20px}.ve-lightbox-bottom>div{text-align:center}.ve-lightbox-title{font-size:27px}.ve-lightbox-caption{font-size:11px;color:#c2d1b7;margin-top:9px!important}.ve-lightbox .ve-icon-button{border:1px solid #75856a;flex:0 0 auto}.ve-lightbox-zoom[aria-pressed=true]{background:#536b41}.ve-modal-open{overflow:hidden!important}
.ve-hero-content{width:min(740px,74%)}.ve-hero h1{font-size:clamp(58px,6.1vw,88px)}
/* Responsive layout: readable type, usable touch controls and flexible content. */
.ve { --ve-header-height: 94px; --ve-admin-offset: 0px; --ve-bar-height: 0px; }
.ve-header, .admin-bar .ve-header { top: var(--ve-admin-offset); }
.admin-bar .ve { --ve-admin-offset: 32px; }
.ve-story > *, .ve-plan-panel > *, .ve-contact-grid > *, .ve-location-grid > *,
.ve-faq > *, .ve-brochure > *, .ve-contact-person > *, .ve-lightbox-bottom > div { min-width: 0; }
.ve h1, .ve h2, .ve h3, .ve-body-copy, .ve-contact-person { overflow-wrap: break-word; }
.ve section[id], .ve #ve-enquiry, .ve-field input, .ve-field select, .ve-field textarea, .ve-form-status {
  scroll-margin-top: calc(var(--ve-header-height) + var(--ve-admin-offset) + 16px);
  scroll-margin-bottom: calc(var(--ve-bar-height) + 24px);
}
.ve-menu .ve-menu-close-icon { display: none; }
.ve-menu[aria-expanded="true"] .ve-menu-open-icon { display: none; }
.ve-menu[aria-expanded="true"] .ve-menu-close-icon { display: block; }
.ve-gallery-hint { display: none; }
.ve-plan-crop { flex: 0 0 auto; }
.ve-lightbox-stage, .ve-lightbox-plan { min-height: 0; min-width: 0; }
.ve-lightbox-stage.is-zoomed .ve-lightbox-plan { width: 180%; height: 180%; max-width: none; }
@media (min-width: 1600px) {
  .ve-header { padding-inline: max(56px, calc((100vw - 1440px) / 2)); }
  .ve-hero-top, .ve-hero-bottom { left: max(56px, calc((100vw - 1280px) / 2)); right: max(56px, calc((100vw - 1280px) / 2)); }
  .ve-hero-content { left: max(56px, calc((100vw - 1280px) / 2)); }
}
@media (max-width: 1180px) {
  .ve-header { padding-inline: 32px; gap: 20px; }
  .ve-nav { gap: 19px; }
  .ve-brand { font-size: 22px; letter-spacing: 3px; }
  .ve-shell { width: calc(100% - 64px); }
  .ve-hero-top, .ve-hero-bottom { left: 32px; right: 32px; }
  .ve-hero-content { left: 32px; }
  .ve-story, .ve-location-grid, .ve-plan-panel { gap: 40px; }
  .ve-story-image { height: 520px; }
  .ve-story h2 { font-size: 44px; }
  .ve-feature-list { grid-template-columns: 1fr; gap: 12px; }
  .ve-stats > div { gap: 12px; padding-inline: 15px; }
  .ve-stats strong { font-size: 26px; }
  .ve-stats em { font-size: 14px; }
  .ve-stats svg { width: 23px; }
  .ve-section { padding-block: 80px; }
  .ve-contact-grid, .ve-faq, .ve-brochure { gap: 48px; }
  .ve-form-card { padding: 30px; }
  .ve-plan-visual { height: 490px; }
  .ve-gallery-card { height: 330px; }
}
@media (max-width: 960px) {
  .ve { --ve-gutter: clamp(18px, 4vw, 36px); --ve-header-height: 76px; --ve-bar-height: calc(72px + env(safe-area-inset-bottom, 0px)); }
  .ve-shell { width: calc(100% - var(--ve-gutter) * 2); }
  .ve-section { padding-block: 64px; }
  .ve-header { height: auto; min-height: 76px; padding: 12px max(var(--ve-gutter), env(safe-area-inset-right, 0px)) 12px max(var(--ve-gutter), env(safe-area-inset-left, 0px)); gap: 12px; }
  .ve-brand { max-width: calc(100% - 56px); min-width: 0; font-size: clamp(20px, 5vw, 25px); letter-spacing: 2.4px; white-space: normal; overflow-wrap: anywhere; }
  .ve-brand small { font-size: 8px; line-height: 1.5; letter-spacing: 2.2px; margin-top: 6px; }
  .ve-menu { display: flex !important; width: 44px; height: 44px; flex: 0 0 auto; border: 1px solid #d8ddcf; border-radius: 4px; }
  .ve-menu[aria-expanded="true"] { background: #e8ecdf; }
  .ve-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 12px var(--ve-gutter) 20px; background: var(--paper); border-top: 1px solid var(--line); box-shadow: 0 16px 24px #21372918; flex-direction: column; align-items: stretch; gap: 2px; font-size: 16px; max-height: calc(100vh - var(--ve-header-height) - var(--ve-admin-offset) - 16px); max-height: calc(100dvh - var(--ve-header-height) - var(--ve-admin-offset) - env(safe-area-inset-bottom, 0px) - 16px); overflow-y: auto; overscroll-behavior: contain; }
  .ve-nav.is-open { display: flex; }
  .ve-nav > a:first-child { display: block; }
  .ve-nav > a:not(.ve-button) { min-height: 48px; padding: 12px 2px; }
  .ve-nav .ve-button { justify-content: space-between; min-height: 52px; padding: 14px 18px; font-size: 14px !important; margin-top: 10px; }
  .ve-hero { height: auto; min-height: 600px; min-height: clamp(560px, calc(100svh - var(--ve-header-height) - var(--ve-bar-height)), 780px); max-height: none; display: grid; grid-template-rows: auto minmax(72px, 1fr) auto auto; padding: 20px var(--ve-gutter) 16px; }
  .ve-hero-image { object-fit: cover; object-position: 50% center; }
  .ve-hero-shade { background: linear-gradient(0deg, #14291cf0, #1830202b 90%), linear-gradient(90deg, #14291d30, transparent); }
  .ve-hero-top { position: relative; inset: auto; grid-row: 1; gap: 16px; align-items: center; }
  .ve-location-tag { min-width: 0; font-size: 11px; line-height: 1.6; letter-spacing: .2px; gap: 7px; }
  .ve-location-tag svg { width: 17px; height: 17px; }
  .ve-hero-tools { gap: 8px; flex: 0 0 auto; }
  .ve-hero-tools .ve-icon-button { width: 44px; height: 44px; }
  .ve-hero-tools svg { width: 18px; height: 18px; }
  .ve-hero-content { position: relative; inset: auto; grid-row: 3; width: 100%; max-width: 680px; padding-top: 26px; }
  .ve-hero .ve-eyebrow { font-size: 10px !important; letter-spacing: 1.7px; margin-bottom: 16px !important; }
  .ve-hero h1 { font-size: clamp(35px, 10.6vw, 64px); line-height: 1.06; letter-spacing: -.045em; }
  .ve-hero-copy { font-size: 15px; line-height: 1.75; max-width: 42ch !important; margin-top: 20px !important; }
  .ve-hero-actions { display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 24px; }
  .ve-hero-actions .ve-button { min-height: 52px; padding: 14px 20px; font-size: 13px !important; gap: 20px; }
  .ve-hero-actions .ve-text-link { min-height: 48px; font-size: 13px !important; gap: 12px; }
  .ve-hero-bottom { position: relative; inset: auto; grid-row: 4; margin-top: 22px; gap: 16px; }
  .ve-scroll-label { font-size: 9px; letter-spacing: 1.2px; gap: 10px; }
  .ve-slider-controls { gap: 4px; }
  .ve-slider-controls .ve-icon-button { width: 44px; height: 44px; }
  .ve-slide-count { min-width: 62px; font-size: 12px; letter-spacing: 1px; text-align: center; }
  .ve-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-block: 24px; }
  .ve-stats > div, .ve-stats > div:first-child, .ve-stats > div:last-child { display: block; padding: 17px 15px; background: #edeFE5; border: 1px solid #dce1d2; border-radius: 3px; min-width: 0; }
  .ve-stats svg { display: none; }
  .ve-stats strong { font-size: 28px; white-space: normal; line-height: 1.15; }
  .ve-stats em { display: block; font-size: 15px; line-height: 1.5; white-space: normal; letter-spacing: 0; margin-top: 4px; }
  .ve-stats > div:first-child em { display: inline; }
  .ve-stats small { font-size: 11px; line-height: 1.6; margin-top: 7px; letter-spacing: 0; }
  .ve h2, .ve-story h2, .ve-section-heading h2, .ve-plans-section h2, .ve-location-grid h2, .ve-contact-copy h2 { font-size: clamp(34px, 5.5vw, 46px); line-height: 1.12; }
  .ve-eyebrow { font-size: 11px !important; letter-spacing: 1.7px; margin-bottom: 19px !important; }
  .ve-story { gap: 32px; }
  .ve-body-copy, .ve-brochure-copy > p:not(.ve-eyebrow), .ve-location-grid > div > p:not(.ve-eyebrow), .ve-contact-copy > p:not(.ve-eyebrow), .ve-faq > div > p:not(.ve-eyebrow) { font-size: 15px; line-height: 1.85; max-width: none !important; }
  .ve-feature-list { gap: 14px; font-size: 13px; line-height: 1.7; }
  .ve-feature-list > span { align-items: flex-start; }
  .ve-feature-list svg { margin-top: 4px; width: 15px; height: 15px; }
  .ve-text-link { min-height: 44px; font-size: 13px !important; gap: 14px; }
  .ve-story-image { height: 520px; }
  .ve-story-image figcaption { left: 24px; right: 24px; bottom: 26px; }
  .ve-story-image figcaption strong { font-size: 34px; }
  .ve-section-heading { gap: 30px; align-items: flex-start; }
  .ve-section-heading > p { font-size: 14px; line-height: 1.8; max-width: 260px; }
  .ve-filter-list { gap: 8px; margin-bottom: 24px; }
  .ve-filter-list button { min-height: 46px; font-size: 13px; padding: 11px 18px; }
  .ve-filter-list span:not(.ve-i18n) { font-size: 10px; }
  .ve-gallery-grid, .ve-gallery-grid.is-filtered { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .ve-gallery-card, .ve-gallery-wide, .ve-gallery-grid.is-filtered .ve-gallery-card { grid-column: auto; min-width: 0; height: 300px; }
  .ve-gallery-caption { left: 21px; right: 21px; bottom: 23px; gap: 12px; }
  .ve-gallery-caption strong { font-size: 29px; }
  .ve-gallery-caption small { font-size: 10px; }
  .ve-round-arrow { width: 40px; height: 40px; }
  .ve-caption { font-size: 12px; line-height: 1.8; }
  .ve-plans-section .ve-section-heading { display: block; margin-bottom: 27px; }
  .ve-plans-section .ve-section-heading > a { margin-top: 18px; }
  .ve-plan-tabs { margin-bottom: 26px; }
  .ve-plan-tabs button { flex: 1; min-width: 0; min-height: 52px; font-size: 14px; padding: 15px 12px; text-align: center; }
  .ve-plan-tabs button span:not(.ve-i18n) { display: none; }
  .ve-plan-panel { gap: 32px; }
  .ve-plan-visual { height: 470px; padding: 22px 18px 50px !important; }
  .ve-plan-enlarge { font-size: 12px; right: 20px; bottom: 17px; }
  .ve-plan-enlarge svg { width: 17px; height: 17px; }
  .ve-floor-label { font-size: 12px; letter-spacing: 1.5px; }
  .ve-plan-description h3 { font-size: 36px; line-height: 1.15; }
  .ve-plan-description > p { font-size: 15px; line-height: 1.8; max-width: none; }
  .ve-plan-description li { font-size: 14px; line-height: 1.6; align-items: flex-start; }
  .ve-plan-description li svg { margin-top: 4px; }
  .ve-plan-description .ve-plan-note { font-size: 12px; line-height: 1.8; }
  .ve-brochure, .ve-location-grid, .ve-faq { gap: 36px; }
  .ve-brochure-art { height: 400px; }
  .ve-brochure-art > a, .ve-brochure-back { width: min(64%, 230px); height: auto; aspect-ratio: 2 / 3; }
  .ve-catalogue-mark { font-size: 9px; letter-spacing: 1.5px; }
  .ve-brochure-copy .ve-button { max-width: 100%; gap: 18px; font-size: 13px !important; }
  .ve-map { height: 360px; }
  .ve-address strong { font-size: 15px; }
  .ve-address small { font-size: 13px; }
  .ve-faq { grid-template-columns: .8fr 1.2fr; }
  .ve-faq-list summary { font-size: 15px; min-height: 66px; padding: 20px 0; gap: 18px; }
  .ve-faq-list summary svg { width: 20px; height: 20px; }
  .ve-faq-list details > div { font-size: 14px; line-height: 1.85; padding: 0 10px 24px 0; }
  .ve-contact-grid { grid-template-columns: 1fr; gap: 36px; }
  .ve-contact-copy { padding-top: 0; }
  .ve-contact-copy > p:not(.ve-eyebrow) { max-width: 54ch !important; margin-block: 24px 28px; }
  .ve-contacts { max-width: none; }
  .ve-contact-card { gap: 14px; padding: 21px 0; }
  .ve-contact-person { min-width: 0; gap: 12px; }
  .ve-contact-person h3 { font-size: 16px; line-height: 1.4; margin-bottom: 5px; }
  .ve-contact-person a { font-size: 14px; line-height: 1.6; white-space: nowrap; letter-spacing: 0; }
  .ve-initials { width: 42px; height: 42px; }
  .ve-contact-actions { gap: 8px; flex: 0 0 auto; }
  .ve-contact-actions a { width: 44px; height: 44px; }
  .ve-contact-actions svg { width: 18px; height: 18px; }
  .ve-form-card { padding: clamp(20px, 4vw, 34px); border-radius: 4px; }
  .ve-form-card .ve-eyebrow { font-size: 10px !important; line-height: 1.7; }
  .ve-form-card h3 { font-size: clamp(30px, 4.8vw, 38px); line-height: 1.15; }
  .ve-form-intro { font-size: 14px; line-height: 1.7; margin: 12px 0 25px !important; }
  .ve-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
  .ve-field { font-size: 13px; line-height: 1.7; }
  .ve-optional { font-size: 11px; font-weight: 400; display: inline; }
  .ve-field input, .ve-field select, .ve-field textarea { width: 100%; min-width: 0; font-size: 16px; min-height: 52px; line-height: 1.5; padding: 12px; border-radius: 3px; letter-spacing: 0; }
  .ve-field select { padding-right: 28px; }
  .ve-field textarea { min-height: 115px; }
  .ve-field input[type="date"] { appearance: none; -webkit-appearance: none; }
  .ve-checkbox { font-size: 13px; line-height: 1.75; gap: 12px; padding: 9px 0; min-height: 44px; margin-top: 14px; align-items: flex-start; }
  .ve-checkbox input { width: 20px; height: 20px; margin-top: 2px; }
  .ve-submit { min-height: 54px; font-size: 14px !important; padding-inline: 18px; }
  .ve-form-footnote { font-size: 12px; line-height: 1.8; margin-top: 16px !important; }
  .ve-field-error { font-size: 12px; }
  .ve-form-status, .ve-form-result { font-size: 14px; line-height: 1.8; }
  .ve-footer { padding-block: 42px calc(var(--ve-bar-height) + 28px); }
  .ve-footer-top { flex-wrap: wrap; gap: 28px; padding-bottom: 28px; }
  .ve-footer .ve-brand { font-size: 23px; }
  .ve-footer .ve-brand small { font-size: 8px; line-height: 1.6; letter-spacing: 1.4px; }
  .ve-footer-top > div { order: 3; width: 100%; gap: 8px 20px; flex-wrap: wrap; font-size: 13px; }
  .ve-footer-top > div > a { min-height: 44px; display: inline-flex; align-items: center; }
  .ve-back-top { width: 44px; height: 44px; }
  .ve-footer-bottom { flex-direction: column; gap: 10px; font-size: 11px; line-height: 1.8; }
  .ve-chat-widget { right: max(var(--ve-gutter), env(safe-area-inset-right, 0px)); bottom: calc(var(--ve-bar-height) + 12px); }
  .ve-chat-toggle { display: none !important; }
  .ve-chat-panel { width: 360px; max-width: calc(100vw - var(--ve-gutter) * 2); margin: 0; max-height: calc(100vh - var(--ve-header-height) - var(--ve-admin-offset) - var(--ve-bar-height) - 36px); max-height: calc(100dvh - var(--ve-header-height) - var(--ve-admin-offset) - var(--ve-bar-height) - 36px); overflow-y: auto; overscroll-behavior: contain; padding: 18px 20px; }
  .ve-chat-panel strong { font-size: 23px; }
  .ve-chat-panel p { font-size: 13px; }
  .ve-chat-panel > a { font-size: 15px; min-height: 65px; }
  .ve-chat-panel small { font-size: 12px; }
  .ve-chat-close { width: 44px; height: 44px; flex: 0 0 auto; }
  .ve-chat-close svg { width: 20px; height: 20px; }
  .ve-mobile-bar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 65; gap: 10px; min-height: calc(72px + env(safe-area-inset-bottom, 0px)); padding: 10px max(14px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px)); background: #f7f6f0; border-top: 1px solid #d9decd; box-shadow: 0 -3px 18px #21372912; }
  .ve-mobile-bar > a, .ve-mobile-bar > button { display: flex; flex: 1; min-width: 0; min-height: 50px; padding: 10px 8px; align-items: center; justify-content: center; gap: 8px; font-size: 13px; line-height: 1.4; font-weight: 550; border: 1px solid #a8b698; border-radius: 3px; text-align: center; }
  .ve-mobile-bar > a { flex: 1.3; background: #2c4334; color: white; border-color: #2c4334; }
  .ve-mobile-bar svg { width: 18px; height: 18px; }
  .ve.ve-form-visible .ve-mobile-bar, .ve.ve-form-editing .ve-mobile-bar, .ve.ve-menu-open .ve-mobile-bar, .ve.ve-viewer-open .ve-mobile-bar { visibility: hidden; pointer-events: none; }
  .ve.ve-menu-open .ve-chat-widget, .ve.ve-viewer-open .ve-chat-widget { visibility: hidden; }
  .ve-toast { bottom: calc(var(--ve-bar-height) + 12px); width: max-content; max-width: calc(100% - 36px); padding: 13px 18px; font-size: 13px; }
  .ve.ve-form-visible .ve-toast, .ve.ve-form-editing .ve-toast { bottom: 18px; }
  .ve-lightbox { width: 100%; max-width: 100%; height: 100vh; height: 100dvh; max-height: 100dvh; }
  .ve-lightbox[open] { grid-template-rows: auto minmax(0, 1fr) auto; }
  .ve-lightbox-toolbar { min-height: 66px; padding: max(10px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) 10px max(16px, env(safe-area-inset-left, 0px)); }
  .ve-lightbox-toolbar > div { gap: 10px; }
  .ve-lightbox .ve-icon-button { width: 44px; height: 44px; }
  .ve-lightbox-counter { font-size: 12px; }
  .ve-lightbox-stage { padding: 12px; }
  .ve-lightbox-plan { padding: 14px; }
  .ve-lightbox-plan .ve-plan-crop { max-width: 100%; height: auto; }
  .ve-lightbox-bottom { gap: 12px; padding: 16px max(14px, env(safe-area-inset-right, 0px)) calc(16px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px)); }
  .ve-lightbox-title { font-size: 25px; line-height: 1.15; }
  .ve-lightbox-caption { font-size: 12px; line-height: 1.65; margin-top: 7px !important; }
}
@media (max-width: 782px) { .admin-bar .ve { --ve-admin-offset: 46px; } }
@media (max-width: 700px) {
  .ve-story, .ve-plan-panel, .ve-brochure, .ve-location-grid, .ve-faq { grid-template-columns: 1fr; }
  .ve-story-image { width: 100%; height: auto; aspect-ratio: 4 / 3; }
  .ve-plan-description ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .ve-plan-description li { font-size: 13px; }
  .ve-section-heading { display: block; }
  .ve-section-heading > p { max-width: none; margin-top: 18px; }
  .ve-faq h2 br { display: none; }
}
@media (max-width: 600px) {
  .admin-bar .ve { --ve-admin-offset: 0px; }
  .ve-section { padding-block: 54px; }
  .ve-hero-actions { display: grid; grid-template-columns: 1.15fr 1fr; gap: 12px; }
  .ve-hero-actions .ve-button { padding-inline: 13px; gap: 10px; font-size: 12px !important; }
  .ve-hero-actions .ve-text-link { justify-content: center; gap: 8px; font-size: 12px !important; }
  .ve-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ve h2, .ve-story h2, .ve-section-heading h2, .ve-plans-section h2, .ve-location-grid h2, .ve-contact-copy h2 { font-size: clamp(32px, 8.8vw, 40px); }
  .ve-feature-list { grid-template-columns: 1fr; gap: 12px; margin-block: 26px; font-size: 14px; }
  .ve-story-image figcaption strong { font-size: 30px; }
  .ve-story-image figcaption > span { font-size: 9px; letter-spacing: 1.4px; }
  .ve-filter-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; overflow: visible; margin-bottom: 14px; }
  .ve-filter-list button { font-size: 13px; min-height: 46px; white-space: normal; padding: 10px 12px; border-color: #cfd6c3; }
  .ve-gallery-hint { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 12px; color: #5c6b53; margin: 16px 0 !important; }
  .ve-gallery-hint span:not(.ve-i18n) { font-size: 20px; line-height: 1; }
  .ve-gallery-grid, .ve-gallery-grid.is-filtered { display: flex; width: calc(100% + var(--ve-gutter) * 2); margin-inline: calc(var(--ve-gutter) * -1); padding-inline: var(--ve-gutter); padding-bottom: 16px; gap: 14px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--ve-gutter); scrollbar-width: thin; scrollbar-color: #92a180 #dde3d3; }
  .ve-gallery-grid .ve-gallery-card, .ve-gallery-grid.is-filtered .ve-gallery-card { flex: 0 0 calc(100% - 24px); height: auto; width: auto; aspect-ratio: 6 / 5; scroll-snap-align: start; }
  .ve-gallery-grid.has-one-image .ve-gallery-card { flex-basis: 100%; }
  .ve-gallery-caption { left: 20px; right: 20px; bottom: 22px; }
  .ve-gallery-caption strong { font-size: 28px; line-height: 1.15; }
  .ve-gallery-caption small { font-size: 9px; letter-spacing: 1.4px; }
  .ve-plan-tabs button { font-size: 13px; padding-inline: 6px; white-space: normal; }
  .ve-plan-visual { height: clamp(400px, 112vw, 500px); padding: 20px 18px 50px !important; }
  .ve-plan-description h3 { font-size: 34px; }
  .ve-plan-description .ve-button { width: 100%; font-size: 13px !important; gap: 16px; }
  .ve-brochure-art { height: 380px; }
  .ve-brochure-copy .ve-button { width: 100%; justify-content: space-between; padding-inline: 18px; }
  .ve-map { height: clamp(280px, 74vw, 380px); }
  .ve-form-grid { grid-template-columns: minmax(0, 1fr); }
  .ve-lightbox-caption { font-size: 11px; }
  .ve-lightbox-title { font-size: 23px; }
}
@media (max-width: 400px) {
  .ve-initials { display: none; }
  .ve-mobile-bar > a, .ve-mobile-bar > button { font-size: 12px; }
  .ve-contact-person h3 { font-size: 15px; }
  .ve-hero-actions { grid-template-columns: 1fr; gap: 5px; }
  .ve-hero-actions .ve-button { justify-content: space-between; padding-inline: 18px; font-size: 13px !important; }
  .ve-hero-actions .ve-text-link { justify-self: center; font-size: 13px !important; }
  .ve-story-image { aspect-ratio: 1 / 1; }
  .ve-lightbox-bottom { gap: 8px; }
  .ve-lightbox-title { font-size: 21px; }
}
@media (max-width: 960px) and (max-height: 540px) and (orientation: landscape) {
  .ve-hero { min-height: 430px; grid-template-rows: auto minmax(20px, 1fr) auto auto; }
  .ve-hero-content { padding-top: 18px; max-width: 590px; }
  .ve-hero h1 { font-size: 44px; }
  .ve-hero .ve-eyebrow { margin-bottom: 12px !important; }
  .ve-hero-copy { margin-top: 14px !important; font-size: 14px; max-width: 52ch !important; }
  .ve-hero-actions { margin-top: 18px; }
  .ve-lightbox-caption { display: none; }
  .ve-lightbox-bottom { padding-block: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .ve *, .ve *::before, .ve *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media print{.ve-header,.ve-hero-tools,.ve-slider-controls,.ve-filter-list,.ve-chat-widget,.ve-mobile-bar,.ve-form-card,.ve-footer,.ve-toast,.ve-lightbox{display:none!important}.ve{color:#000;background:#fff}.ve-section{padding:28px 0}.ve-shell{width:100%}.ve-hero{min-height:450px;height:450px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ve-hero-content{bottom:40px}.ve-hero-bottom{display:none}.ve-gallery-card{height:230px}.ve-plans-section,.ve-contact-section{background:#fff;color:#000}.ve-plan-panel{display:grid!important;break-inside:avoid;margin-bottom:20px}.ve-plan-panel[hidden]{display:grid!important}.ve-plan-description>p,.ve-floor-label,.ve-plan-description .ve-plan-note,.ve-contact-copy>p,.ve-contact-person a{color:#333!important}.ve-plan-description li{color:#000}.ve-plan-visual{height:330px}.ve-contact-grid{display:block}.ve-contact-actions{display:none}.ve-contacts{max-width:none}.ve-map{display:none}.ve-eyebrow{color:#666!important}}
/* Flag language control and Arabic direction. */
.ve [data-ve-i18n] { white-space: pre-line; }
.ve .ve-i18n { min-width: 0; }
.ve-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.ve-header { gap: 22px; }
.ve-nav { gap: 22px; }
.ve-language-switch { display: inline-flex; align-items: stretch; padding: 4px; gap: 3px; flex: 0 0 auto; border: 1px solid #d6dccf; border-radius: 99px; background: #ebeede; box-shadow: inset 0 1px 3px #243a3010; }
.ve-language-switch a { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; min-height: 44px; padding: 8px; border-radius: 99px; transition: background .18s, box-shadow .18s; }
.ve .ve-language-flag { display: block; width: 27px; height: 18px; max-width: none; flex-shrink: 0; border-radius: 2px; box-shadow: 0 0 0 1px #13281e24, 0 1px 3px #13281e20; }
.ve-language-switch a:hover { background: #dce3d3; }
.ve-language-switch a[aria-current="true"] { color: #fff; background: #2c4334; box-shadow: 0 2px 5px #23362724; }
.ve-language-switch a:focus-visible { outline-offset: 2px; }
.ve[lang="fr"] .ve-eyebrow, .ve[lang="pt-BR"] .ve-eyebrow { letter-spacing: 1.35px; }
.ve[dir="rtl"] { font-family: Tahoma, Arial, sans-serif; text-align: right; }
.ve[dir="rtl"] h1, .ve[dir="rtl"] h2, .ve[dir="rtl"] h3 { font-family: Tahoma, Arial, sans-serif; letter-spacing: 0; line-height: 1.5; font-weight: 500; }
.ve[dir="rtl"] .ve-eyebrow, .ve[dir="rtl"] .ve-floor-label, .ve[dir="rtl"] .ve-gallery-caption small, .ve[dir="rtl"] .ve-scroll-label, .ve[dir="rtl"] .ve-brand small, .ve[dir="rtl"] .ve-catalogue-mark { letter-spacing: 0; }
.ve[dir="rtl"] .ve-body-copy, .ve[dir="rtl"] .ve-hero-copy, .ve[dir="rtl"] .ve-plan-description > p { line-height: 1.95; }
.ve[dir="rtl"] .ve-brand { font-family: var(--serif); }
.ve[dir="rtl"] .ve-brand small { font-family: Tahoma, Arial, sans-serif; }
.ve[dir="rtl"] .ve-icon-arrow, .ve[dir="rtl"] .ve-icon-diagonal { transform: scaleX(-1); }
.ve[dir="rtl"] .ve-text-link:hover .ve-icon-arrow, .ve[dir="rtl"] .ve-text-link:hover .ve-icon-diagonal { transform: translateX(-4px) scaleX(-1); }
.ve[dir="rtl"] .ve-plan-tabs button { text-align: right; }
.ve[dir="rtl"] .ve-plan-tabs button > span:not(.ve-i18n) { margin-right: 0; margin-left: 22px; }
.ve[dir="rtl"] .ve-filter-list span:not(.ve-i18n) { margin-left: 0; margin-right: 8px; }
.ve[dir="rtl"] .ve-plan-enlarge { right: auto; left: 24px; }
.ve[dir="rtl"] .ve-contact-person a, .ve[dir="rtl"] .ve-chat-panel small { display: inline-block; unicode-bidi: isolate; }
.ve[dir="rtl"] .ve-field input:not([dir="ltr"]), .ve[dir="rtl"] .ve-field select, .ve[dir="rtl"] .ve-field textarea { text-align: right; }
.ve[dir="rtl"] .ve-field select { padding-left: 28px; padding-right: 12px; }
.ve[dir="rtl"] .ve-lightbox-bottom { direction: ltr; }
.ve[dir="rtl"] .ve-lightbox-bottom > div { direction: rtl; }
.ve[dir="rtl"] .ve-stats > div:first-child { padding-left: 22px; padding-right: 0; }
.ve[dir="rtl"] .ve-stats > div:last-child { padding-left: 0; padding-right: 22px; }
.ve[dir="rtl"] .ve-stats > div { border-right: 0; border-left: 1px solid var(--line); }
.ve[dir="rtl"] .ve-stats > div:last-child { border-left: 0; }
@media (min-width: 961px) {
  .ve[dir="rtl"] .ve-hero-content { left: auto; right: 56px; }
  .ve[dir="rtl"] .ve-hero h1 { font-size: clamp(48px, 5vw, 72px); line-height: 1.4; }
  .ve[dir="rtl"] .ve-hero-shade { background: linear-gradient(270deg, #122117ba, #101d221f 75%), linear-gradient(0deg, #0b1a1073, transparent 65%); }
  .ve[lang="fr"] .ve-hero h1, .ve[lang="pt-BR"] .ve-hero h1 { font-size: clamp(48px, 5.1vw, 78px); }
  .ve[lang="fr"] .ve-stats em { font-size: 15px; }
}
@media (min-width: 1600px) { .ve[dir="rtl"] .ve-hero-content { right: max(56px, calc((100vw - 1280px) / 2)); } }
@media (min-width: 961px) and (max-width: 1180px) {
  .ve-header { padding-inline: 24px; gap: 16px; }
  .ve-header .ve-brand { font-size: 20px; letter-spacing: 2px; }
  .ve-nav { gap: 14px; font-size: 11px; }
  .ve-nav .ve-button { padding-inline: 14px; gap: 12px; font-size: 11px !important; }
  .ve[dir="rtl"] .ve-hero-content { right: 32px; }
}
@media (max-width: 960px) {
  .ve-header { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 8px 12px; padding-block: 10px; min-height: 0; }
  .ve-header .ve-brand { grid-column: 1; grid-row: 1; max-width: 100%; width: max-content; }
  .ve-menu { grid-column: 2; grid-row: 1; }
  .ve-language-switch { grid-column: 1 / -1; grid-row: 2; justify-self: center; width: max-content; max-width: 100%; padding: 3px; }
  .ve[dir="rtl"] .ve-hero h1 { font-size: clamp(31px, 8vw, 48px); line-height: 1.5; }
  .ve[dir="rtl"] h2, .ve[dir="rtl"] .ve-story h2, .ve[dir="rtl"] .ve-section-heading h2, .ve[dir="rtl"] .ve-contact-copy h2 { font-size: clamp(28px, 6.5vw, 40px); }
  .ve[dir="rtl"] .ve-plan-description h3 { font-size: 29px; }
  .ve[dir="rtl"] .ve-form-card h3 { font-size: 28px; }
  .ve[dir="rtl"] .ve-plan-tabs button { text-align: center; }
  .ve[dir="rtl"] .ve-stats > div, .ve[dir="rtl"] .ve-stats > div:first-child, .ve[dir="rtl"] .ve-stats > div:last-child { padding: 17px 15px; border: 1px solid #dce1d2; }
  .ve[dir="rtl"] .ve-plan-enlarge { left: 20px; }
  .ve[dir="rtl"] .ve-lightbox-title { font-size: 22px; }
  .ve[lang="fr"] .ve-scroll-label, .ve[lang="pt-BR"] .ve-scroll-label { font-size: 8px; letter-spacing: .6px; }
  .ve[lang="fr"] .ve-hero h1, .ve[lang="pt-BR"] .ve-hero h1 { font-size: clamp(31px, 8.9vw, 60px); letter-spacing: -.04em; }
}
@media (max-width: 400px) {
  .ve[lang="fr"] .ve-hero-bottom, .ve[lang="pt-BR"] .ve-hero-bottom { gap: 10px; }
  .ve[lang="fr"] .ve-slider-controls, .ve[lang="pt-BR"] .ve-slider-controls { gap: 0; }
  .ve[lang="fr"] .ve-slide-count, .ve[lang="pt-BR"] .ve-slide-count { min-width: 51px; }
  .ve[lang="fr"] .ve-footer .ve-brand small { font-size: 7px; letter-spacing: .8px; }
  .ve[dir="rtl"] .ve-plan-description h3 { font-size: 26px; }
}
@media print { .ve-language-switch { display: none; } }

/* v1.6.0 — neural narrated presentation */
.ve-button-presentation{background:#b68e64!important;color:#fff!important;border-color:#d7b68f!important;box-shadow:0 10px 28px #0d1a1240}.ve-button-presentation:hover{background:#c69d70!important}.ve-button-presentation svg{fill:currentColor;stroke-width:1.2}
.ve-presentation{position:fixed;left:0;right:0;bottom:22px;z-index:100020;pointer-events:none;padding:0 22px;display:flex;justify-content:center}.ve-presentation-card{width:min(760px,calc(100vw - 44px));background:linear-gradient(145deg,rgba(27,45,36,.97),rgba(45,63,52,.96));color:#f7f6eb;border:1px solid #ffffff26;border-radius:18px;box-shadow:0 24px 70px #0d1712a8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:18px 20px 17px;pointer-events:auto;position:relative;overflow:hidden}.ve-presentation-card::before{content:'';position:absolute;inset:-60% 55% auto -15%;height:180px;background:radial-gradient(circle,#c6a0702b,transparent 67%);pointer-events:none}.ve-presentation-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.ve-presentation-brand{display:flex;align-items:baseline;gap:12px;min-width:0}.ve-presentation-brand strong{font:400 13px/1 var(--serif);letter-spacing:2.3px}.ve-presentation-brand span{font-size:8px;letter-spacing:1.6px;color:#cfd8c8}.ve-presentation-step{font-size:9px;letter-spacing:1.5px;color:#d6ddcf}.ve-presentation-progress{height:2px;background:#ffffff20;margin:13px 0 15px;overflow:hidden}.ve-presentation-progress i{display:block;width:0;height:100%;background:#d1ad7c;transition:width .45s ease}.ve-presentation-copy{padding-right:142px}.ve-presentation-meta{display:flex;align-items:center;gap:9px;margin-bottom:4px}.ve-presentation-kicker{display:block;color:#bdc9b7;font-size:8px;letter-spacing:1.8px;text-transform:uppercase}.ve-presentation-ai{font-size:7px;letter-spacing:.8px;color:#aab6a5;border-left:1px solid #ffffff26;padding-left:9px}.ve-presentation-copy h3{font-size:24px;line-height:1.18;letter-spacing:-.02em;margin:0 0 5px;color:#fff}.ve-presentation-copy p{font-size:11px;line-height:1.65;color:#dde4d8;max-width:58ch}.ve-presentation-controls{position:absolute;right:17px;bottom:17px;display:flex;gap:4px}.ve-presentation-controls .ve-icon-button{width:38px;height:38px;border:1px solid #ffffff27;background:#ffffff0b}.ve-presentation-controls .ve-icon-button:hover{background:#ffffff18}.ve-presentation-controls svg{width:17px;height:17px}.ve-presentation[data-state="paused"] .ve-presentation-pause .ve-icon-pause{display:none}.ve-presentation[data-state="paused"] .ve-presentation-pause::before{content:'';width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor;margin-left:2px}.ve-presentation-sound[aria-pressed="true"] .ve-icon-volume{display:none}.ve-presentation-sound[aria-pressed="true"]::before,.ve-presentation-sound[aria-pressed="true"]::after{content:'';position:absolute;width:16px;height:1.5px;background:currentColor;transform:rotate(45deg)}.ve-presentation-sound[aria-pressed="true"]::after{transform:rotate(-45deg)}
.ve-presentation-focus{position:relative;z-index:3;outline:2px solid #c49a68!important;outline-offset:8px;box-shadow:0 0 0 1px #f4d9ae36,0 18px 55px #17261d2f;transition:outline-color .3s,box-shadow .3s}.ve-gallery-card.ve-presentation-card-active{transform:translateY(-5px);box-shadow:0 15px 38px #12241c36}.ve-presentation-running .ve-mobile-bar,.ve-presentation-running .ve-chat-widget{opacity:.16;pointer-events:none}.ve-presentation-running .ve-header{transition:opacity .25s}.ve-presentation-running.ve-presentation-at-hero .ve-header{opacity:.55}
@media (max-width:960px){.ve-hero-actions{grid-template-columns:1fr 1fr}.ve-hero-actions .ve-button-presentation{grid-column:1/-1}.ve-presentation{bottom:calc(var(--ve-bar-height,62px) + 10px);padding:0 10px}.ve-presentation-card{width:100%;padding:14px 14px 13px;border-radius:14px}.ve-presentation-brand span{display:none}.ve-presentation-copy{padding-right:0;padding-bottom:46px}.ve-presentation-copy h3{font-size:20px}.ve-presentation-copy p{font-size:10.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ve-presentation-controls{right:12px;bottom:10px}.ve-presentation-controls .ve-icon-button{width:34px;height:34px}.ve-presentation-focus{outline-offset:4px}}
@media (max-width:400px){.ve-hero-actions{grid-template-columns:1fr}.ve-button-presentation{grid-column:auto}.ve-presentation-step{font-size:8px}.ve-presentation-brand strong{font-size:11px;letter-spacing:1.6px}}
@media (prefers-reduced-motion:reduce){.ve-presentation-progress i{transition:none}.ve-presentation-focus{transition:none}}
@media print{.ve-presentation,.ve-button-presentation{display:none!important}}

/* v1.6.1 — price per villa */
.ve-villa-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:20px;padding:10px 0;border-block:1px solid #ffffff45;width:fit-content;max-width:100%;color:inherit}
.ve-villa-price>span{font-size:12px;letter-spacing:.4px}
.ve-villa-price>strong{font-family:var(--serif);font-size:clamp(26px,3vw,34px);font-weight:500;line-height:1.2;white-space:nowrap}
.ve-villa-price small{font-family:Arial,sans-serif;font-size:11px;letter-spacing:1px;font-weight:400}
.ve-hero .ve-villa-price+.ve-hero-actions{margin-top:20px}

/* v1.6.2 — project progress, delivery and payment terms */
.ve .ve-villa-price{width:100%;max-width:440px}
.ve .ve-villa-price .ve-payment-terms{flex:0 0 100%;font-family:inherit;font-size:12px;line-height:1.7;font-weight:400;letter-spacing:0;margin:3px 0 0;color:inherit}
.ve .ve-payment-reference{display:inline-block;padding:0 4px;text-decoration:underline;text-underline-offset:3px}
.ve .ve-project-update{padding-block:32px;border-bottom:1px solid var(--line)}
.ve .ve-project-update h2{font-size:26px;line-height:1.2;letter-spacing:-.4px;margin-bottom:16px}
.ve .ve-project-milestones{display:flex;flex-wrap:wrap;gap:12px 32px}
.ve .ve-project-milestones p,.ve .ve-project-delivery{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.7}
.ve .ve-project-update svg{flex:0 0 19px;width:19px;height:19px;margin-top:3px}
.ve .ve-project-delivery{margin-top:14px;font-weight:500}
.ve .ve-payment-notice{font-size:12px;line-height:1.8;color:#dfe8d6;margin-top:24px;max-width:100%;scroll-margin-top:calc(var(--ve-header-height) + var(--ve-admin-offset) + 20px);scroll-margin-bottom:calc(var(--ve-bar-height) + 24px)}
@media screen and (min-width:961px){.ve .ve-hero{min-height:760px}}
@media(max-width:600px){.ve .ve-project-milestones{flex-direction:column;gap:10px}.ve .ve-project-update h2{font-size:24px}.ve .ve-villa-price .ve-payment-terms{font-size:12px}}

/* 1.7: Independent villa choices. */
.ve .ve-design-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.ve .ve-design-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;min-width:0}
.ve .ve-design-featured{border-color:var(--gold);box-shadow:0 14px 40px #273b3212}
.ve .ve-design-original,.ve .ve-design-visual{width:100%;aspect-ratio:1.95;object-fit:cover;display:block;overflow:hidden;position:relative}
.ve .ve-design-visual img{width:100%;height:100%;object-fit:cover}
.ve .ve-design-poster-crop img{position:absolute;top:-52%;height:auto;max-width:none;width:100%}
.ve .ve-design-body{padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.ve .ve-design-body h3{font-size:32px}.ve .ve-design-price{font-family:var(--serif);font-size:34px;color:var(--ink)}
.ve .ve-design-price small{font:12px system-ui}.ve .ve-design-availability{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#76562f}
.ve .ve-design-areas{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:0}
.ve .ve-design-areas>div{padding:14px 8px;border-bottom:1px solid var(--line)}.ve .ve-design-areas dt{font-size:11px;color:var(--muted)}
.ve .ve-design-areas dd{margin:4px 0 0;font:24px var(--serif)}.ve .ve-design-total{background:#edf1e9}.ve .ve-design-areas sup{font-size:.6em}
.ve .ve-design-scope{margin-top:24px;padding:18px 22px;background:#e9ede5;font-size:14px;border-inline-start:3px solid var(--gold)}
@media(max-width:760px){.ve .ve-design-grid{grid-template-columns:1fr}.ve .ve-design-body{padding:22px}.ve .ve-design-body .ve-button{width:100%;justify-content:center}}

/* Hero option rotation: inline SVG crops the approved artwork without poster text. */
.ve svg.ve-hero-image{width:100%;height:100%;background:#213528}
.ve .ve-hero-option-title{font-size:clamp(46px,5.5vw,80px);line-height:1.03;color:inherit}
.ve .ve-hero-content[hidden],.ve .ve-slider-controls[hidden]{display:none!important}
@media(max-width:600px){.ve .ve-hero-option-title{font-size:42px}}
@media(prefers-reduced-motion:reduce){.ve .ve-hero-image{transition:none}}
