.elementor-kit-6{--e-global-color-primary:#6E7C60;--e-global-color-secondary:#35402E;--e-global-color-text:#262923;--e-global-color-accent:#F8F8EE;--e-global-color-ivory:#F4F2EA;--e-global-color-line:#D9D6C8;--e-global-color-muted:#5C6154;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:500;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-size:12px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-secondary-letter-spacing:2.4px;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:1.2px;--e-global-typography-lead-font-family:"Manrope";--e-global-typography-lead-font-size:20px;--e-global-typography-lead-font-weight:400;--e-global-typography-lead-line-height:1.6em;background-color:#F8F8EE;color:#262923;font-family:"Manrope", Sans-serif;font-size:17px;font-weight:400;line-height:1.7em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#35402E;font-family:"Manrope", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;line-height:1.2em;letter-spacing:1.2px;color:#F8F8EE;border-style:solid;border-width:1px 1px 1px 1px;border-color:#35402E;border-radius:0px 0px 0px 0px;padding:17px 30px 17px 30px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#6E7C60;color:#F8F8EE;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:18px;}.elementor-kit-6 a{color:#35402E;}.elementor-kit-6 a:hover{color:#6E7C60;}.elementor-kit-6 h1{color:#262923;font-family:"Cormorant Garamond", Sans-serif;font-size:58px;font-weight:500;line-height:1.08em;}.elementor-kit-6 h2{color:#262923;font-family:"Cormorant Garamond", Sans-serif;font-size:44px;font-weight:500;line-height:1.12em;}.elementor-kit-6 h3{color:#262923;font-family:"Cormorant Garamond", Sans-serif;font-size:28px;font-weight:600;line-height:1.2em;}.elementor-kit-6 h4{color:#262923;font-family:"Cormorant Garamond", Sans-serif;font-size:24px;font-weight:600;line-height:1.25em;}.elementor-kit-6 h5{color:#262923;font-family:"Manrope", Sans-serif;font-size:18px;font-weight:600;line-height:1.3em;}.elementor-kit-6 h6{color:#262923;font-family:"Manrope", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;line-height:1.4em;letter-spacing:1.2px;}.elementor-kit-6 label{color:#262923;font-family:"Manrope", Sans-serif;font-size:14px;font-weight:600;line-height:1.4em;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Manrope", Sans-serif;font-size:16px;font-weight:400;line-height:1.5em;color:#262923;background-color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:14px 16px 14px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6 h1{font-size:46px;}.elementor-kit-6 h2{font-size:38px;}.elementor-kit-6 h3{font-size:26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-lead-font-size:18px;font-size:16px;}.elementor-kit-6 h1{font-size:38px;}.elementor-kit-6 h2{font-size:32px;}.elementor-kit-6 h3{font-size:24px;}.elementor-kit-6 h4{font-size:22px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{padding:16px 24px 16px 24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}}
/* Start custom CSS *//* ============================================================
   C T Building Ltd  |  Site-wide custom CSS (Elementor Site Settings)
   Kept intentionally small. Everything else is set through
   Elementor global colours, typography and widget controls.
   ============================================================ */

/* 1. Aspect-ratio helpers for photography so layouts do not shift while images load */
.ctb-ratio-4x5 img{aspect-ratio:4/5;object-fit:cover;width:100%}
.ctb-ratio-3x4 img{aspect-ratio:3/4;object-fit:cover;width:100%}
.ctb-ratio-3x2 img{aspect-ratio:3/2;object-fit:cover;width:100%}
.ctb-ratio-1x1 img{aspect-ratio:1/1;object-fit:cover;width:100%}
.ctb-ratio-16x9 img{aspect-ratio:16/9;object-fit:cover;width:100%}
.ctb-ratio-4x5 img,.ctb-ratio-3x4 img,.ctb-ratio-3x2 img,.ctb-ratio-1x1 img,.ctb-ratio-16x9 img{height:auto}

/* 2. Subtle, restrained interaction: images lift very slightly, cards reveal label */
.ctb-card{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.ctb-card:hover{transform:translateY(-4px)}
.ctb-card .ctb-card-cta{opacity:.85;transition:opacity .3s ease,letter-spacing .3s ease}
.ctb-card:hover .ctb-card-cta{opacity:1}
.ctb-link-btn .elementor-button{border-bottom:1px solid currentColor;border-radius:0;padding-bottom:4px}
.ctb-link-btn .elementor-button:hover{border-bottom-color:transparent}
.elementor-widget-image img{transition:opacity .4s ease}

/* 3. Header: compact sticky behaviour */
.ctb-header{transition:box-shadow .3s ease,padding .3s ease}
.ctb-header.elementor-sticky--effects{box-shadow:0 1px 0 rgba(38,41,35,.08),0 10px 30px -18px rgba(38,41,35,.25)}
.ctb-header .elementor-nav-menu--main .elementor-item{padding:10px 14px}
.ctb-header .elementor-nav-menu--dropdown a{font-size:15px}
.ctb-header .elementor-menu-toggle{border-radius:0}
/* Custom menu button: small arch (from the logo) + label */
.ctb-menu-btn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px}
.ctb-menu-btn .elementor-button-content-wrapper::before{content:"";display:block;width:11px;height:15px;border:1.5px solid currentColor;border-radius:999px 999px 0 0;box-shadow:5px -4px 0 -1.5px #F8F8EE,5px -4px 0 0 currentColor}
.ctb-menu-btn .elementor-button:hover .elementor-button-content-wrapper::before{box-shadow:5px -4px 0 -1.5px #35402E,5px -4px 0 0 currentColor}
/* Off-canvas menu */
.ctb-offcanvas-popup .dialog-widget-content{box-shadow:12px 0 40px -12px rgba(38,41,35,.35)}
.ctb-offcanvas-nav .elementor-nav-menu--dropdown{background:transparent}
.ctb-offcanvas-nav .elementor-nav-menu--dropdown .sub-menu a{font-family:Manrope,sans-serif!important;font-size:16px!important;font-weight:500!important;line-height:1.4!important;padding:10px 0 10px 16px!important;border-left:1px solid #D9D6C8!important}
.ctb-offcanvas-nav .elementor-nav-menu--dropdown .sub-arrow{padding:10px}
.ctb-phone a,.ctb-phone .elementor-icon-list-text{white-space:nowrap}
.ctb-header .elementor-button{white-space:nowrap}
.ctb-header .elementor-nav-menu--main>.elementor-nav-menu{flex-wrap:nowrap}
.ctb-header .elementor-nav-menu--main .elementor-item{white-space:nowrap}
.ctb-header-actions .e-con{flex-wrap:nowrap}
@media (max-width:1320px) and (min-width:1025px){.ctb-header .elementor-nav-menu--main .elementor-item{padding:10px 10px}.ctb-header .ctb-logo img{width:200px}}
@media (max-width:1200px) and (min-width:1025px){.ctb-header .ctb-phone{display:none}}

/* 4. Mobile bottom action bar (Call Now / Request a Quote) with safe-area padding */
.ctb-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:999;padding-bottom:env(safe-area-inset-bottom)}
@media (max-width:767px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}

/* 5. Accordion: clean typographic FAQs */
.ctb-accordion .elementor-accordion-item{border-left:0;border-right:0}
.ctb-accordion .elementor-accordion-item+.elementor-accordion-item{border-top:0}
.ctb-accordion .elementor-tab-title .elementor-accordion-icon{width:1em}

/* 6. Forms */
.ctb-form .elementor-field-group .elementor-field{border-radius:0}
.ctb-form .ctb-form-note{font-size:14px;color:#5C6154;margin:0;padding:12px 0 0;border-top:1px solid #D9D6C8}
.ctb-form .elementor-field-type-acceptance .elementor-field-subgroup label{font-size:14px;line-height:1.5}
.ctb-form .e-form__buttons__wrapper__button-previous{background:transparent;color:#35402E;border:1px solid #35402E}
.ctb-form .e-form__buttons__wrapper__button-previous:hover{background:#35402E;color:#F8F8EE}
.ctb-form .e-form__indicators{margin-bottom:28px;align-items:flex-start}
.ctb-form .e-form__indicators__indicator{flex-direction:column;gap:8px;color:#5C6154}
.ctb-form .e-form__indicators__indicator__number{width:36px;height:36px;border-radius:50%;border:1px solid #D9D6C8;background:#F8F8EE!important;color:#35402E!important;display:flex;align-items:center;justify-content:center;font:600 14px/1 Manrope,sans-serif}
.ctb-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number{background:#35402E!important;border-color:#35402E!important;color:#F8F8EE!important}
.ctb-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number{background:#6E7C60!important;border-color:#6E7C60!important;color:#F8F8EE!important}
.ctb-form .e-form__indicators__indicator--state-active,.ctb-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__label{color:#262923!important}
.ctb-form .e-form__indicators__indicator--state-completed,.ctb-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__label{color:#6E7C60!important}
.ctb-form .e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__label{color:#5C6154!important}
.ctb-form .elementor-field-type-radio .elementor-field-option{display:inline-flex;align-items:center;gap:8px;margin:6px 24px 6px 0}
.ctb-form .elementor-field-type-radio .elementor-field-option input,.ctb-form .elementor-field-type-acceptance input{width:18px;height:18px;accent-color:#35402E;margin:0}
.ctb-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option{display:flex;gap:10px;align-items:flex-start}
.ctb-form .e-form__indicators__indicator__label{font-family:Manrope,sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.ctb-form .e-form__indicators__indicator__separator{background:#D9D6C8;height:1px;margin-top:18px}
@media (max-width:480px){.ctb-form .e-form__indicators__indicator__label{font-size:10px;letter-spacing:.06em;white-space:normal;text-align:center}}
.ctb-form .elementor-message{font-size:16px;padding:16px 0}
.ctb-form-dark .elementor-field-group .elementor-field{background:#FFFFFF}

/* 7. Accessibility: visible focus states everywhere */
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,.elementor-field:focus-visible,.elementor-tab-title:focus-visible,.elementor-menu-toggle:focus-visible{outline:2px solid #35402E;outline-offset:3px}
.elementor-nav-menu a:focus-visible{outline:2px solid #35402E;outline-offset:-2px}

/* 8. Motion: respect reduced-motion, and never hide content if animation scripts fail */
@media (prefers-reduced-motion:reduce){
  .elementor-invisible{visibility:visible!important}
  .animated{animation:none!important}
  .ctb-card,.ctb-card:hover{transform:none}
}
@media (scripting:none){.elementor-invisible{visibility:visible!important}}

/* 9. Decorative arch motif (used sparingly) */
.ctb-arch-line{width:120px;height:60px;border:1px solid #6E7C60;border-bottom:0;border-radius:999px 999px 0 0;margin:0 auto}

/* Legal pages */
.ctb-legal h2{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;margin:40px 0 12px;color:#262923}
.ctb-legal a{text-decoration:underline;text-underline-offset:3px}

/* 10. Prevent horizontal scroll from full-bleed sections */
html,body{overflow-x:hidden}/* End custom CSS */