/* WordPress / Elementor integration. Source design tokens live in site.css. */
.sg-site .elementor-widget-sg-section,.sg-site .elementor-widget-sg-dynamic,.sg-site .elementor-widget-shortcode,.sg-site .elementor-widget-container,.sg-site .elementor-shortcode,.sg-site .elementor{display:contents}
.sg-site .elementor-element{--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;margin:0}
.sg-site .sg-main-content,.sg-site .sg-main-content>.e-con-inner{display:contents}
.sg-site .footer-meta span:last-child{color:#aab3b7;opacity:1}
.sg-site .site-header{max-width:none;width:100%;margin:0}
.sg-site img,.sg-site .elementor img{width:100%;height:100%;object-fit:cover}
.sg-site button{color:inherit}
.sg-site .menu-button:hover,.sg-site .menu-button:focus,.sg-site .menu-close:hover,.sg-site .menu-close:focus{background:transparent}
.sg-site button,.sg-site input,.sg-site select,.sg-site textarea{border-radius:0;font-family:var(--sans)}
.sg-site button:hover,.sg-site button:focus{color:inherit}
.sg-site input[type=checkbox]{width:18px;height:18px;min-width:18px;accent-color:#b38449;vertical-align:middle;margin-right:8px}
.sg-site [hidden]{display:none!important}.sg-site .sg-consent{font-size:13px;line-height:1.6}.sg-consent a,.sg-form-note a,.form-success a{text-decoration:underline}
.sg-site .sg-form-note{font-size:13px;line-height:1.6;grid-column:1/-1;margin:0;opacity:.8}
.sg-site .sg-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sg-site .sg-inventory-note{padding:16px clamp(24px,6vw,96px);margin:0;background:#eee5d3;font-size:13px;color:#3f3525;border-bottom:1px solid #c7b898}
.sg-site .property-price small{font:11px var(--sans);font-weight:400}.sg-site .sg-no-image{display:grid;place-items:center;height:100%;min-height:200px;background:#d9d2c7;color:#171b1d;font-size:14px}
.sg-site .sg-empty{padding:36px;background:#e7e0d5}.sg-site .sg-reset-filters{border:0;background:none;text-decoration:underline;color:inherit;cursor:pointer}
.sg-site button:disabled{opacity:.6;cursor:wait}.sg-site :focus-visible{outline:2px solid #b38449;outline-offset:5px}
.sg-site .sg-skip{position:fixed;top:8px;left:8px;z-index:2000;padding:10px 18px;background:white;color:#071823;transform:translateY(-180%)}.sg-site .sg-skip:focus{transform:none}
.sg-site.sg-modal-open,.sg-site.menu-open,.sg-site.lightbox-open{overflow:hidden}
.sg-filter-dialog{position:fixed;inset:0;width:100%;max-width:100%;height:100dvh;max-height:100%;margin:0;border:0;padding:72px 24px 32px;background:var(--paper);color:var(--ink)}
.sg-filter-dialog .filters{display:grid;grid-template-columns:1fr;margin:24px 0}.sg-filter-dialog .filters label{padding:18px 0;border-right:0;border-bottom:1px solid var(--line);font-size:12px}.sg-filter-dialog select{min-height:44px;font-size:16px}
.sg-filter-dialog h2{font:40px var(--serif)}.sg-filter-dialog::backdrop,.sg-gallery-dialog::backdrop{background:rgba(3,11,16,.9)}
.sg-gallery-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;margin:0;color:white}.sg-gallery-dialog .lightbox-stage img{object-fit:contain}.sg-gallery-dialog .lightbox-stage p{font-size:13px}
.sg-site .demo-form input[type=file]{font-size:14px;max-width:100%}.sg-site .demo-form label>span{font-size:12px}.sg-site .demo-form input,.sg-site .demo-form select,.sg-site .demo-form textarea{font-size:16px}
.sg-site .form-success{margin:0}.sg-site .form-success a{display:inline-block;font-weight:700;padding:12px 0}.sg-site .quote-nav{gap:24px}.sg-site .quote-error{color:#ffd0c9}.sg-site .quote-success h1{font-size:clamp(44px,6vw,86px);line-height:1.04}
.sg-site .sg-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.sg-site .sg-revealed{opacity:1;transform:none}
.sg-site .footer img{width:auto}.sg-site .story-image{position:relative}.sg-site .site-header a:hover{color:inherit}
@media(max-width:760px){.sg-site .property-facts{font-size:12px}.sg-site .property-card-head{font-size:12px}.sg-site .detail-page .floating-whatsapp,.sg-site.detail-page .floating-whatsapp{display:none}.sg-site.detail-page .conversion-rail{bottom:calc(76px + env(safe-area-inset-bottom))}.sg-site.detail-page{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.sg-site .mobile-sticky{padding-bottom:env(safe-area-inset-bottom);z-index:90}.sg-site .mobile-menu{z-index:999}.sg-site .quote-nav .button{font-size:12px;white-space:normal}.sg-site .sg-consent{font-size:13px}.sg-site .project-facts span{min-width:0;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sg-site *{animation:none!important;transition:none!important}.sg-site .sg-reveal{opacity:1;transform:none}}

/* Touch input text stays readable and avoids browser zoom on focus. */
.sg-site .quote-detail-fields input,.sg-site .contact-fields input:not([type=checkbox]),.sg-site .contact-fields textarea{font-size:16px;line-height:1.5}

.sg-site .scroll-top,.sg-site .scroll-top:hover,.sg-site .scroll-top:focus,.sg-site .lightbox-close,.sg-site .lightbox-prev,.sg-site .lightbox-next{color:#fff}
.sg-site .mobile-menu a:hover,.sg-site .mobile-menu a:focus{color:inherit}
.sg-site .contact-form .sg-enquiry .button.solid{background:var(--brass);color:#fff;border-color:var(--brass)}

.sg-site .mobile-filter-button:hover,.sg-site .mobile-filter-button:focus{background:var(--paper);color:var(--ink)}
.sg-site .quote-options button:not(.selected):focus,.sg-site .project-filters button:not(.active):focus{background:transparent;color:inherit}

/* Stable text colours: suppress Hello Elementor's purple links and pink buttons.
   Component tokens preserve the resting palette on both light and dark surfaces. */
.sg-site a:is(:hover,:focus,:active){color:var(--sg-interaction-ink,inherit)}
.sg-site button:is(:hover,:focus){color:var(--sg-interaction-ink,inherit);background-color:var(--sg-interaction-surface,transparent)}
.sg-site :is(.button.solid,.button.brass,.button.dark,.button.outline-light,.mini-cta,.mobile-menu-cta,.division-panel,.floating-whatsapp,.scroll-top,.lightbox-close,.lightbox-prev,.lightbox-next){--sg-interaction-ink:#fff}
.sg-site :is(.button.light,.button.line){--sg-interaction-ink:var(--ink)}
.sg-site .button.solid{--sg-interaction-surface:#10232c}
.sg-site .button.brass{--sg-interaction-surface:#a8793e}
.sg-site .button.dark{--sg-interaction-surface:var(--graphite)}
.sg-site .button.light{--sg-interaction-surface:var(--ivory)}
.sg-site :is(.button.line,.button.outline-light){--sg-interaction-surface:transparent}
.sg-site :is(.mini-cta,.mobile-menu-cta),.sg-site .contact-form .sg-enquiry .button.solid{--sg-interaction-surface:var(--brass)}
.sg-site :is(.button,.mini-cta,.mobile-menu-cta):is(:hover,:focus,:active){color:var(--sg-interaction-ink,inherit);background:var(--sg-interaction-surface,transparent)}
.sg-site :is(.floating-whatsapp,.scroll-top){--sg-interaction-surface:rgba(7,30,41,.96)}
.sg-site .detail-gallery button,.sg-site .mobile-filter-button{--sg-interaction-surface:var(--paper);--sg-interaction-ink:var(--ink)}
.sg-site .project-filters button.active,.sg-site .material-catalog button.selected{--sg-interaction-surface:#071a26;--sg-interaction-ink:#fff}
.sg-site .material-card-grid button{--sg-interaction-ink:#fff;color:#fff}
.sg-site a.mobile-menu-cta:is(:hover,:focus,:active){color:#fff}
.sg-site .quote-options button.selected{--sg-interaction-surface:var(--brass)}
.sg-site .property-card .view-label{--sg-interaction-ink:#775d38}
.sg-site .services-section .section-heading .text-link{--sg-interaction-ink:#fff}
.sg-site .property-card:hover .property-title{color:inherit}

/* Underline and a small directional cue replace text recolouring. */
.sg-site :is(.text-link,.view-label){transition:border-color .22s ease,box-shadow .22s ease}
.sg-site :is(.text-link,.view-label,.footer-links a)>span{transition:transform .22s ease}
.sg-site .desktop-nav a:focus-visible:after{right:0}
@media(hover:hover) and (pointer:fine){
 .sg-site :is(.button,.mini-cta,.mobile-menu-cta){transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
 .sg-site :is(.button,.mini-cta,.mobile-menu-cta):hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(7,24,35,.14);border-color:currentColor}
 .sg-site :is(.text-link,.view-label):hover{box-shadow:0 1px 0 currentColor}
 .sg-site :is(.text-link,.view-label,.footer-links a):hover>span{transform:translateX(4px)}
 .sg-site :is(.footer-links a,.footer-meta a,.division-switch,.direct-contact a,.mobile-switch):hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
 .sg-site .mobile-menu nav a{transition:padding-left .22s ease}
 .sg-site .mobile-menu nav a:hover{padding-left:8px}
 .sg-site :is(.quote-options button,.project-filters button):hover{box-shadow:inset 0 -2px 0 currentColor}
}
@media(prefers-reduced-motion:reduce){
 .sg-site :is(.button,.mini-cta,.mobile-menu-cta):hover,.sg-site :is(.text-link,.view-label,.footer-links a):hover>span{transform:none}
 .sg-site .mobile-menu nav a:hover{padding-left:0}
}

/* Optional record media. */
.sg-site .sg-project-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sg-site .sg-project-photos a{aspect-ratio:4/3;overflow:hidden}.sg-site .sg-record-video{margin-top:36px}.sg-site .sg-record-video video,.sg-site .sg-record-video iframe{display:block;width:100%;aspect-ratio:16/9;max-height:80vh;border:0;background:#071823;object-fit:contain}.sg-site .detail-body>aside:empty{display:none}.sg-site .detail-body:not(:has(aside:not(:empty))){grid-template-columns:1fr}@media(max-width:760px){.sg-site .sg-project-photos{grid-template-columns:1fr;gap:16px}}

/* Explicit placement prevents the stage occupying the old 90px arrow column. */
.sg-site .sg-gallery-dialog[open]{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;grid-template-rows:minmax(0,1fr);gap:16px;padding:72px max(20px,env(safe-area-inset-right)) 28px;box-sizing:border-box;overflow:hidden}
.sg-gallery-dialog .lightbox-stage{grid-column:2;grid-row:1;min-width:0;width:100%;max-width:1400px;margin:0;align-self:center}
.sg-site .sg-gallery-dialog .lightbox-stage img{width:100%;max-width:100%;height:calc(100dvh - 164px);max-height:none;object-fit:contain;transform:none}
.sg-gallery-dialog .lightbox-stage p{display:block;text-align:center;line-height:1.5;letter-spacing:.03em;max-height:44px;overflow:auto}
.sg-gallery-dialog .lightbox-prev{grid-column:1;grid-row:1}.sg-gallery-dialog .lightbox-next{grid-column:3;grid-row:1}
.sg-gallery-dialog button[hidden]{display:none!important}
.sg-photo-trigger{cursor:zoom-in}.sg-photo-trigger:focus-visible{outline:3px solid #b39161;outline-offset:-4px}
@media(max-width:760px){.sg-site .sg-gallery-dialog[open]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 48px;padding:64px 12px calc(16px + env(safe-area-inset-bottom));gap:12px}.sg-gallery-dialog .lightbox-stage{grid-column:1;grid-row:1}.sg-site .sg-gallery-dialog .lightbox-stage img{height:calc(100dvh - 208px)}.sg-gallery-dialog .lightbox-prev,.sg-gallery-dialog .lightbox-next{grid-column:1;grid-row:2;width:48px;height:48px}.sg-gallery-dialog .lightbox-prev{justify-self:start;margin-left:calc(50% - 64px)}.sg-gallery-dialog .lightbox-next{justify-self:end;margin-right:calc(50% - 64px)}}

.sg-site .project-hero > div{pointer-events:none}.sg-site .project-hero > div a,.sg-site .project-hero > div button{pointer-events:auto}
