.elementor-27 .elementor-element.elementor-element-15650f9{--display:flex;--position:relative;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;--overflow:hidden;--padding-top:180px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;top:0px;}.elementor-27 .elementor-element.elementor-element-15650f9:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-15650f9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-15650f9{left:0px;}body.rtl .elementor-27 .elementor-element.elementor-element-15650f9{right:0px;}.elementor-27 .elementor-element.elementor-element-0e370dc{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-27 .elementor-element.elementor-element-c414cb4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-27 .elementor-element.elementor-element-392c797 .elementor-button{background-color:#10B981;font-family:"Lato", Sans-serif;font-size:0.8rem;font-weight:700;text-transform:uppercase;line-height:1em;letter-spacing:0.2em;fill:#000000;color:#000000;transition-duration:0.4s;border-radius:0px 0px 0px 0px;padding:18px 40px 18px 40px;}.elementor-27 .elementor-element.elementor-element-392c797 .elementor-button:hover, .elementor-27 .elementor-element.elementor-element-392c797 .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-27 .elementor-element.elementor-element-392c797 .elementor-button:hover svg, .elementor-27 .elementor-element.elementor-element-392c797 .elementor-button:focus svg{fill:#000000;}.elementor-27 .elementor-element.elementor-element-439138c .elementor-button{background-color:rgba(255,255,255,0.12);font-family:"Lato", Sans-serif;font-size:0.8rem;font-weight:700;text-transform:uppercase;line-height:1em;letter-spacing:0.2em;fill:#FFFFFF;color:#FFFFFF;transition-duration:0.4s;border-radius:0px 0px 0px 0px;padding:18px 40px 18px 40px;}.elementor-27 .elementor-element.elementor-element-439138c .elementor-button:hover, .elementor-27 .elementor-element.elementor-element-439138c .elementor-button:focus{background-color:rgba(16,185,129,0.15);color:#10B981;}.elementor-27 .elementor-element.elementor-element-439138c .elementor-button:hover svg, .elementor-27 .elementor-element.elementor-element-439138c .elementor-button:focus svg{fill:#10B981;}.elementor-27 .elementor-element.elementor-element-04b56b9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:140px;--padding-bottom:140px;--padding-left:0px;--padding-right:0px;}.elementor-27 .elementor-element.elementor-element-d96df2a{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-e221506{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:80px 80px;--row-gap:80px;--column-gap:80px;--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-62b022e{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-27 .elementor-element.elementor-element-26c3063{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-27 .elementor-element.elementor-element-26c3063 img{width:100%;}.elementor-27 .elementor-element.elementor-element-f3bccf4{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-27 .elementor-element.elementor-element-18b3751{--display:flex;--position:relative;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overflow:hidden;--padding-top:140px;--padding-bottom:140px;--padding-left:0px;--padding-right:0px;top:0px;}.elementor-27 .elementor-element.elementor-element-18b3751:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-18b3751 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-18b3751{left:0px;}body.rtl .elementor-27 .elementor-element.elementor-element-18b3751{right:0px;}.elementor-27 .elementor-element.elementor-element-e5f5794{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-f55a34e{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-9e6c3ed{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--gap:30px 30px;--row-gap:30px;--column-gap:30px;--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-f8b4dd8{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-f8b4dd8:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-f8b4dd8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://talkofthetown1.wpenginepowered.com/wp-content/uploads/2026/05/food-appetizer-cups.jpg");background-position:center;background-size:cover;}.elementor-27 .elementor-element.elementor-element-5780816{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-ccf7230{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-ccf7230:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-ccf7230 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://talkofthetown1.wpenginepowered.com/wp-content/uploads/2026/05/food-salmon.jpg");background-position:center;background-size:cover;}.elementor-27 .elementor-element.elementor-element-bb8da3d{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-b7f3cd1{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-b7f3cd1:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-b7f3cd1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://talkofthetown1.wpenginepowered.com/wp-content/uploads/2026/05/food-sliders.jpg");background-position:center;background-size:cover;}.elementor-27 .elementor-element.elementor-element-d63dbd8{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-10dc433{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-10dc433:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-10dc433 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://talkofthetown1.wpenginepowered.com/wp-content/uploads/2026/05/food-chicken-pasta.jpg");background-position:center;background-size:cover;}.elementor-27 .elementor-element.elementor-element-2a15176{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-77bd7fb{--display:flex;--position:relative;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overflow:hidden;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;top:0px;}.elementor-27 .elementor-element.elementor-element-77bd7fb:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-77bd7fb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6FBF9;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-77bd7fb{left:0px;}body.rtl .elementor-27 .elementor-element.elementor-element-77bd7fb{right:0px;}.elementor-27 .elementor-element.elementor-element-92cedb7{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-ba9d469{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:80px 80px;--row-gap:80px;--column-gap:80px;--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-a5a88c4{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-70963e4{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-d39df34{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-27 .elementor-element.elementor-element-8b2085e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-27 .elementor-element.elementor-element-f064bf9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button{background-color:#000000;font-family:"Lato", Sans-serif;font-size:0.75rem;font-weight:700;text-transform:uppercase;line-height:1em;letter-spacing:0.2em;fill:#10B981;color:#10B981;transition-duration:0.4s;border-radius:0px 0px 0px 0px;padding:14px 32px 14px 32px;}.elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button:hover, .elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button:focus{background-color:#000000;color:#10B981;}.elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button-content-wrapper{flex-direction:row;}.elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button:hover svg, .elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button:focus svg{fill:#10B981;}.elementor-27 .elementor-element.elementor-element-5cfac26{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-b3f2580{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-27 .elementor-element.elementor-element-b3f2580 img{width:100%;}.elementor-27 .elementor-element.elementor-element-8752bcc{--display:flex;--position:relative;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overflow:hidden;--padding-top:160px;--padding-bottom:160px;--padding-left:0px;--padding-right:0px;top:0px;}.elementor-27 .elementor-element.elementor-element-8752bcc:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-8752bcc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-8752bcc{left:0px;}body.rtl .elementor-27 .elementor-element.elementor-element-8752bcc{right:0px;}.elementor-27 .elementor-element.elementor-element-4d45ae9{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-35fdadf{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-ddf1f26{--display:flex;--position:relative;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overflow:hidden;--overlay-opacity:0.5;--padding-top:96px;--padding-bottom:96px;--padding-left:30px;--padding-right:30px;top:0px;}.elementor-27 .elementor-element.elementor-element-ddf1f26:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-ddf1f26 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0a0a0a;background-image:url("https://talkofthetown1.wpenginepowered.com/wp-content/uploads/2026/05/contact-bg.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-27 .elementor-element.elementor-element-ddf1f26::before, .elementor-27 .elementor-element.elementor-element-ddf1f26 > .elementor-background-video-container::before, .elementor-27 .elementor-element.elementor-element-ddf1f26 > .e-con-inner > .elementor-background-video-container::before, .elementor-27 .elementor-element.elementor-element-ddf1f26 > .elementor-background-slideshow::before, .elementor-27 .elementor-element.elementor-element-ddf1f26 > .e-con-inner > .elementor-background-slideshow::before, .elementor-27 .elementor-element.elementor-element-ddf1f26 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:rgba(0,0,0,0.55);--background-overlay:'';}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-ddf1f26{left:0px;}body.rtl .elementor-27 .elementor-element.elementor-element-ddf1f26{right:0px;}.elementor-27 .elementor-element.elementor-element-db5f5c2{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:80px 80px;--row-gap:80px;--column-gap:80px;--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-d313cae{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-fd7b4cc{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-da31040{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-27 .elementor-element.elementor-element-a80938f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-27 .elementor-element.elementor-element-2de277c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-27 .elementor-element.elementor-element-506c3c8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-27 .elementor-element.elementor-element-f970648{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-field-group.recaptcha_v3-bottomleft, .elementor-27 .elementor-element.elementor-element-13adb2b .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-27 .elementor-element.elementor-element-13adb2b .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-13adb2b .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-27 .elementor-element.elementor-element-13adb2b .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-field-type-html{padding-bottom:0px;}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-button[type="submit"]{color:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-27 .elementor-element.elementor-element-13adb2b{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(min-width:1025px){.elementor-27 .elementor-element.elementor-element-ddf1f26:not(.elementor-motion-effects-element-type-background), .elementor-27 .elementor-element.elementor-element-ddf1f26 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:1024px){.elementor-27 .elementor-element.elementor-element-e221506{--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-9e6c3ed{--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-ba9d469{--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-db5f5c2{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-27 .elementor-element.elementor-element-15650f9{--padding-top:120px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-27 .elementor-element.elementor-element-392c797 .elementor-button{font-size:0.7rem;padding:14px 28px 14px 28px;}.elementor-27 .elementor-element.elementor-element-439138c .elementor-button{font-size:0.7rem;padding:14px 28px 14px 28px;}.elementor-27 .elementor-element.elementor-element-04b56b9{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-27 .elementor-element.elementor-element-e221506{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-18b3751{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-27 .elementor-element.elementor-element-9e6c3ed{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-77bd7fb{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-27 .elementor-element.elementor-element-ba9d469{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-27 .elementor-element.elementor-element-8752bcc{--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-27 .elementor-element.elementor-element-ddf1f26{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-27 .elementor-element.elementor-element-db5f5c2{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for button, class: .elementor-element-392c797 */.elementor-27 .elementor-element.elementor-element-392c797 .elementor-button { clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%); transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 10px; }
.elementor-27 .elementor-element.elementor-element-392c797 .elementor-button:hover { clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%); transform: translateX(5px); }
.elementor-27 .elementor-element.elementor-element-392c797 .elementor-button .elementor-button-text::after { content: ''; display: inline-block; margin-left: 10px; width: 20px; height: 20px; vertical-align: middle; background-color: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M17 8l4 4m0 0l-4 4m4-4H3'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'><path stroke-linecap='round' stroke-linejoin='round' d='M17 8l4 4m0 0l-4 4m4-4H3'/></svg>") center / contain no-repeat; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-439138c */.elementor-27 .elementor-element.elementor-element-439138c .elementor-button { clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%); transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 10px; }
.elementor-27 .elementor-element.elementor-element-439138c .elementor-button:hover { clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%); transform: translateX(-5px); }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-26c3063 */.elementor-27 .elementor-element.elementor-element-26c3063,
.elementor-27 .elementor-element.elementor-element-26c3063 .elementor-widget-container,
.elementor-27 .elementor-element.elementor-element-26c3063 figure,
.elementor-27 .elementor-element.elementor-element-26c3063 figure.wp-caption {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.elementor-27 .elementor-element.elementor-element-26c3063 img {
  width: 100%;
  height: 600px;
  object-fit: cover;
  display: block;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
  transition: clip-path 0.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-clip-path 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (max-width: 900px) {
  .elementor-27 .elementor-element.elementor-element-26c3063 img {
    height: 400px;
    -webkit-clip-path: none;
    clip-path: none;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7333e9a */.elementor-27 .elementor-element.elementor-element-7333e9a { width: auto; align-self: flex-start; display: inline-block; }
.elementor-27 .elementor-element.elementor-element-7333e9a > .elementor-widget-container { display: inline-block; width: auto; background: transparent; }
.elementor-27 .elementor-element.elementor-element-7333e9a a.elementor-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
  overflow: hidden;
  -webkit-clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.elementor-27 .elementor-element.elementor-element-7333e9a a.elementor-button:hover {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
  transform: translateX(5px);
}
.elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button-content-wrapper {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 10px;
  line-height: 1;
}
.elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin: 0;
}
.elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button-icon svg { display: none; }
.elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button-icon::after {
  content: '\2192';
  font-family: 'Lato', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: inherit;
  display: inline-block;
}
.elementor-27 .elementor-element.elementor-element-7333e9a .elementor-button-text { line-height: 1; display: inline-flex; align-items: center; }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b3f2580 */.elementor-27 .elementor-element.elementor-element-b3f2580,
.elementor-27 .elementor-element.elementor-element-b3f2580 .elementor-widget-container,
.elementor-27 .elementor-element.elementor-element-b3f2580 figure,
.elementor-27 .elementor-element.elementor-element-b3f2580 figure.wp-caption {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.elementor-27 .elementor-element.elementor-element-b3f2580 img {
  width: 100%;
  height: 550px;
  object-fit: cover;
  display: block;
  -webkit-clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
  transition: clip-path 0.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-clip-path 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (max-width: 900px) {
  .elementor-27 .elementor-element.elementor-element-b3f2580 img {
    height: 400px;
    -webkit-clip-path: none;
    clip-path: none;
  }
}/* End custom CSS */
/* Start custom CSS *//* ===== Talk of the Town — Home Page ===== */
.entry-header,.ast-archive-description,.page-title,.entry-title{display:none !important}
.tott-container{max-width:1200px;margin:0 auto;padding:0 40px;width:100%;box-sizing:border-box}

/* === Force all section wrappers to be vertical full-width === */
#tott-hero-wrap,#tott-about-wrap,#tott-services-wrap,#tott-story-wrap,#tott-testimonial-wrap,#tott-contact-wrap{
  width:100% !important;max-width:none !important;padding:0 !important;margin:0 !important;
  display:flex !important;flex-direction:column !important;align-items:stretch !important;
}
#tott-hero-wrap > *,#tott-about-wrap > *,#tott-services-wrap > *,#tott-story-wrap > *,#tott-testimonial-wrap > *,#tott-contact-wrap > *{
  width:100% !important;max-width:none !important;flex:0 0 auto !important;
}
#tott-hero-wrap .elementor-widget-container,#tott-about-wrap .elementor-widget-container,#tott-services-wrap .elementor-widget-container,#tott-story-wrap .elementor-widget-container,#tott-testimonial-wrap .elementor-widget-container,#tott-contact-wrap .elementor-widget-container{width:100% !important;max-width:none !important;padding:0 !important;margin:0 !important}

/* === Inner section content boxes — width 100% === */
.tott-hero,.tott-about,.tott-services,.tott-story,.tott-testimonial,.tott-contact{width:100%;box-sizing:border-box}

/* Section label */
.tott-section-label{font-family:'Lato',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#10B981;display:inline-flex;align-items:center;gap:14px;margin-bottom:24px}
.tott-section-label::before{content:"";display:block;width:30px;height:2px;background:#10B981}

/* Headings */
.tott-about h2,.tott-story-content h2,.tott-contact-info h2{font-family:'Merriweather',serif;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:700;line-height:1.1;margin-bottom:30px;color:#111}
.tott-about h2 span,.tott-story-content h2 span,.tott-contact-info h2 span{color:#10B981;font-style:italic}
.tott-services-header h2{font-family:'Merriweather',serif;font-size:clamp(2.5rem,5vw,4rem);color:#fff;font-weight:700;margin:0}
.tott-services-header h2 span{color:#10B981;font-style:italic}

/* Buttons */
.tott-btn-bold{display:inline-flex;align-items:center;gap:10px;font-family:'Lato',sans-serif;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;padding:18px 32px;text-decoration:none;transition:all .35s ease;cursor:pointer;border:none;line-height:1;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.tott-btn-bold-primary{background:#10B981;color:#000}
.tott-btn-bold-primary:hover{background:#fff;color:#000;transform:translateY(-2px)}
.tott-btn-bold-outline{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.4)}
.tott-btn-bold-outline:hover{box-shadow:inset 0 0 0 2px #10B981;color:#10B981;transform:translateY(-2px)}
.tott-btn-story{background:#000;color:#10B981}
.tott-btn-story:hover{background:#10B981;color:#000;transform:translateY(-2px)}

/* ===== HERO ===== */
.tott-hero{position:relative;min-height:100vh;display:flex;align-items:center;background:#000;overflow:hidden}
.tott-hero-bg{position:absolute;inset:0;background:url('/wp-content/uploads/2026/05/hero-bg.jpg') center/cover no-repeat;opacity:.45;z-index:0}
.tott-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 50%,rgba(16,185,129,.1) 100%);z-index:1}
.tott-hero-geo-1{position:absolute;right:-100px;top:-100px;width:500px;height:500px;border:2px solid rgba(16,185,129,.12);transform:rotate(45deg);z-index:1}
.tott-hero-geo-2{position:absolute;right:-50px;top:-50px;width:400px;height:400px;border:1px solid rgba(16,185,129,.08);transform:rotate(45deg);z-index:1}
.tott-hero-geo-3{position:absolute;left:5%;bottom:10%;width:200px;height:200px;border-radius:50%;border:2px solid rgba(16,185,129,.1);z-index:1}
.tott-hero-content{position:relative;z-index:2;max-width:1200px;width:100%;padding:140px 40px 40px;margin:0 auto;box-sizing:border-box}
.tott-hero-content > *{max-width:800px}
.tott-hero-tagline{font-family:'Lato',sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:#10B981;margin-bottom:24px;display:flex;align-items:center;gap:16px}
.tott-hero-tagline::before{content:"";display:block;width:40px;height:2px;background:#10B981}
.tott-hero h1{font-family:'Merriweather',serif;font-size:clamp(3.5rem,8vw,7rem);color:#fff;margin-bottom:12px;line-height:.95;font-weight:700}
.tott-hero h1 .tott-highlight{color:#10B981;display:block;font-style:italic}
.tott-hero-subtitle{font-family:'Lato',sans-serif;font-size:1.15rem;color:rgba(255,255,255,.7);line-height:1.8;max-width:550px;margin-bottom:40px}
.tott-hero-buttons{display:flex;gap:16px;flex-wrap:wrap}
.tott-hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.4);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.tott-hero-scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,#10B981,transparent);animation:tottScrollPulse 2s infinite}
@keyframes tottScrollPulse{0%,100%{opacity:.3;transform:scaleY(.5);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}

/* ===== ABOUT ===== */
.tott-about{padding:140px 0;background:#fff;overflow:hidden;color:#111}
.tott-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.tott-about-image-wrap{position:relative}
.tott-about-image-wrap img{width:100%;height:600px;object-fit:cover;position:relative;z-index:2;clip-path:polygon(0 0,100% 0,100% 90%,0 100%);transition:clip-path .6s cubic-bezier(.16,1,.3,1);display:block}
.tott-about-image-wrap:hover img{clip-path:polygon(0 0,100% 0,100% 100%,0 90%)}
.tott-about-image-accent{position:absolute;top:-20px;left:-20px;right:40px;bottom:40px;border:3px solid #10B981;z-index:1;transition:all .6s ease}
.tott-about-image-wrap:hover .tott-about-image-accent{top:-30px;left:-30px}
.tott-about-image-number{position:absolute;bottom:0;right:-20px;z-index:3;font-family:'Merriweather',serif;font-size:8rem;font-weight:700;color:rgba(16,185,129,.08);line-height:1}
.tott-about-text{font-family:'Lato',sans-serif;font-size:1.05rem;line-height:1.9;color:#6F7170;margin-bottom:40px}
.tott-about-stats{display:flex;gap:40px;padding-top:30px;border-top:2px solid #E4F3ED}
.tott-about-stat-number{font-family:'Merriweather',serif;font-size:2.5rem;font-weight:700;color:#000;line-height:1;margin-bottom:4px}
.tott-about-stat-number .tott-accent{color:#10B981}
.tott-about-stat-label{font-family:'Lato',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#6F7170}

/* ===== SERVICES ===== */
.tott-services{padding:140px 0 0;background:#000;position:relative;overflow:hidden}
.tott-services-header{text-align:center;margin-bottom:80px}
.tott-services-header .tott-section-label{color:#10B981}
.tott-services-header .tott-section-label::before{display:none}
.tott-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;width:100%}
.tott-service-card{position:relative;height:75vh;min-height:500px;overflow:hidden;cursor:pointer;background-size:cover;background-position:center;text-decoration:none;display:block;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.tott-service-card:hover{transform:scale(1.02);z-index:2}
.tott-service-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.85) 100%);transition:background .6s ease}
.tott-service-card:hover .tott-service-card-overlay{background:linear-gradient(180deg,rgba(16,185,129,.1) 0%,rgba(0,0,0,.9) 100%)}
.tott-service-card-content{position:absolute;bottom:0;left:0;right:0;padding:2.5rem;z-index:2}
.tott-service-card-number{font-family:'Merriweather',serif;font-size:.85rem;color:#10B981;margin-bottom:.75rem;opacity:.7}
.tott-service-card h3{font-family:'Merriweather',serif;font-size:1.5rem;color:#fff;margin:0 0 .75rem;transition:color .4s ease;font-weight:700}
.tott-service-card:hover h3{color:#10B981}
.tott-service-card-line{width:40px;height:2px;background:#10B981;margin-top:1.25rem;transition:width .6s cubic-bezier(.22,1,.36,1)}
.tott-service-card:hover .tott-service-card-line{width:80px}
.tott-service-card p{font-family:'Lato',sans-serif;font-size:.9rem;line-height:1.7;color:rgba(255,255,255,.65);max-height:0;overflow:hidden;opacity:0;margin:0;transition:all .6s cubic-bezier(.22,1,.36,1)}
.tott-service-card:hover p{max-height:120px;opacity:1;margin-top:.75rem}
.tott-service-card-arrow{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-family:'Lato',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#10B981;transform:translateY(10px);opacity:0;transition:all .4s cubic-bezier(.16,1,.3,1) .2s}
.tott-service-card:hover .tott-service-card-arrow{transform:translateY(0);opacity:1}
.tott-service-card-arrow svg{transition:transform .3s ease}
.tott-service-card:hover .tott-service-card-arrow svg{transform:translateX(4px)}

/* ===== STORY ===== */
.tott-story{padding:140px 0;background:#F6FBF9;position:relative;overflow:hidden;color:#111}
.tott-story-marquee{position:absolute;top:50%;left:0;transform:translateY(-50%);white-space:nowrap;font-family:'Merriweather',serif;font-size:clamp(5rem,12vw,10rem);font-weight:700;color:rgba(16,185,129,.04);line-height:1;pointer-events:none;animation:tottMarquee 30s linear infinite}
@keyframes tottMarquee{0%{transform:translateY(-50%) translateX(0)}100%{transform:translateY(-50%) translateX(-50%)}}
.tott-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:2}
.tott-story-content{padding-right:40px}
.tott-story-text{font-family:'Lato',sans-serif;font-size:1.05rem;line-height:1.9;color:#6F7170;margin-bottom:30px}
.tott-story-features{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}
.tott-story-feature{display:flex;align-items:center;gap:16px;font-family:'Lato',sans-serif;font-size:.95rem;font-weight:700;color:#000}
.tott-story-feature-icon{width:40px;height:40px;background:#10B981;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#000;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}
.tott-story-image-wrap{position:relative}
.tott-story-image-main{width:100%;height:550px;object-fit:cover;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);transition:clip-path .6s cubic-bezier(.16,1,.3,1);display:block}
.tott-story-image-wrap:hover .tott-story-image-main{clip-path:polygon(0 0,100% 0,90% 100%,0 100%)}
.tott-story-image-badge{position:absolute;bottom:-30px;left:-30px;background:#000;color:#fff;padding:30px;z-index:3;width:180px;text-align:center}
.tott-story-image-badge-number{font-family:'Merriweather',serif;font-size:3rem;font-weight:700;color:#10B981;line-height:1}
.tott-story-image-badge-text{font-family:'Lato',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-top:4px;color:rgba(255,255,255,.7)}

/* ===== TESTIMONIAL ===== */
.tott-testimonial{position:relative;padding:160px 0;background:#000;overflow:hidden}
.tott-testimonial-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.15}
.tott-testimonial-content{position:relative;z-index:2;text-align:center;max-width:900px;margin:0 auto;padding:0 40px}
.tott-testimonial-quote-mark{font-family:'Merriweather',serif;font-size:10rem;color:#10B981;line-height:.5;margin-bottom:20px;opacity:.3}
.tott-testimonial blockquote{font-family:'Merriweather',serif;font-size:clamp(1.3rem,2.5vw,1.8rem);color:#fff;line-height:1.7;font-style:italic;margin-bottom:40px;padding:0;border:none}
.tott-testimonial-divider{width:60px;height:3px;background:#10B981;margin:0 auto 30px}
.tott-testimonial-author{font-family:'Lato',sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#10B981}

/* ===== CONTACT ===== */
.tott-contact-info{color:#fff}
.tott-contact-info h2{color:#fff}
.tott-contact-info > p{font-family:'Lato',sans-serif;font-size:1rem;line-height:1.8;color:rgba(255,255,255,.7);margin-bottom:40px;max-width:480px}
.tott-contact-details{list-style:none;margin:0;padding:0}
.tott-contact-details li{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start;font-family:'Lato',sans-serif;font-size:.95rem;color:rgba(255,255,255,.75);line-height:1.6}
.tott-detail-icon{flex-shrink:0;width:40px;height:40px;background:rgba(16,185,129,.12);color:#10B981;display:flex;align-items:center;justify-content:center;border-radius:4px}
.tott-contact-details strong{color:#fff;display:block;margin-bottom:2px;font-weight:700}
.tott-contact-details a{color:rgba(255,255,255,.75);text-decoration:none;transition:color .25s ease}
.tott-contact-details a:hover{color:#10B981}

/* ===== FORM ===== */
.tott-contact-form{background:rgba(255,255,255,.04);backdrop-filter:blur(10px);padding:40px;border:1px solid rgba(255,255,255,.08);box-sizing:border-box}
.tott-contact-form form{display:flex;flex-direction:column;gap:18px}
.tott-form-row{display:flex;gap:18px}
.tott-form-group{flex:1;display:flex;flex-direction:column;min-width:0}
.tott-form-group.full{flex:1 1 100%;width:100%}
.tott-form-group label{font-family:'Lato',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:8px}
.tott-form-group input,.tott-form-group select,.tott-form-group textarea{font-family:'Lato',sans-serif;font-size:.95rem;color:#fff;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.12);padding:14px 16px;outline:none;transition:border-color .25s ease,background .25s ease;width:100%;box-sizing:border-box}
.tott-form-group input:focus,.tott-form-group select:focus,.tott-form-group textarea:focus{border-color:#10B981;background:rgba(0,0,0,.5)}
.tott-form-group input::placeholder,.tott-form-group textarea::placeholder{color:rgba(255,255,255,.3)}
.tott-form-group select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2310B981' d='M5 6L0 0h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.tott-form-group textarea{min-height:120px;resize:vertical}
.tott-form-submit{margin-top:8px}
.tott-btn-primary{font-family:'Lato',sans-serif;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;padding:18px 36px;background:#10B981;color:#000;border:none;cursor:pointer;transition:all .3s ease;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.tott-btn-primary:hover{background:#fff;transform:translateY(-2px)}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .tott-services-grid{grid-template-columns:repeat(2,1fr)}
  .tott-service-card{height:440px}
}
@media(max-width:900px){
  .tott-about-grid,.tott-story-grid{grid-template-columns:1fr;gap:40px}
  /* mobile image height/clip-reset moved to image widgets 26c3063 + b3f2580 */
  .tott-story-content{padding-right:0;order:2}
  .tott-story-image-wrap{order:1}
}
@media(max-width:768px){
  .tott-hero-content{padding:120px 24px 40px}
  .tott-hero h1{font-size:clamp(2.5rem,10vw,4rem)}
  .tott-hero-buttons{flex-direction:column}
  .tott-services-grid{grid-template-columns:1fr}
  .tott-service-card{height:380px}
  .tott-service-card p{opacity:1;max-height:120px;margin-top:.75rem}
  .tott-service-card-arrow{opacity:1;transform:none}
  .tott-about-stats{flex-wrap:wrap;gap:24px}
  .tott-story-image-badge{position:relative;bottom:auto;left:auto;display:inline-block;margin-top:16px}
  .tott-about-image-accent,.tott-about-image-number{display:none}
  .tott-form-row{flex-direction:column}
  .tott-contact-form{padding:24px}
  .tott-container{padding:0 20px}
}
@media(max-width:480px){
  .tott-hero h1{font-size:2.3rem}
  .tott-about,.tott-services,.tott-story{padding:80px 0}
  .tott-testimonial{padding:100px 0}
  .tott-contact{padding:80px 0}
}

/* ===== HERO FIX: flush-left content + clip-path buttons ===== */
.tott-hero{
  position:relative !important;
  min-height:100vh !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:#000 !important;
  overflow:hidden !important;
}
.tott-hero-content{
  position:relative !important;z-index:2 !important;
  max-width:800px !important;width:auto !important;
  padding:0 40px !important;margin:0 !important;
  text-align:left !important;
}
.tott-hero h1{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif !important;
  font-size:clamp(3.5rem,8vw,7rem) !important;
  color:#fff !important;
  margin:0 0 12px !important;
  line-height:.95 !important;
  font-weight:600 !important;
  text-align:left !important;
}
.tott-hero h1 .tott-highlight{
  color:#10B981 !important;
  display:block !important;
  font-style:italic !important;
}
.tott-hero-tagline{
  font-family:'Lato',sans-serif !important;
  font-size:.85rem !important;
  font-weight:700 !important;
  letter-spacing:.4em !important;
  text-transform:uppercase !important;
  color:#10B981 !important;
  margin:0 0 24px !important;
  display:flex !important;align-items:center !important;gap:16px !important;
}
.tott-hero-tagline::before{
  content:'';display:block;width:40px;height:2px;background:#10B981;
}
.tott-hero-subtitle{
  font-family:'Lato',sans-serif !important;
  font-size:1.15rem !important;
  color:rgba(255,255,255,.7) !important;
  line-height:1.8 !important;
  max-width:550px !important;
  margin:0 0 40px !important;
  text-align:left !important;
}
.tott-hero-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:16px !important;
  align-items:flex-start !important;
  max-width:550px !important;
}
.tott-btn-bold{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:18px 40px !important;
  font-family:'Lato',sans-serif !important;
  font-size:.8rem !important;
  font-weight:700 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  border:none !important;
  border-radius:0 !important;
  cursor:pointer;
  transition:-webkit-clip-path .4s ease,clip-path .4s ease,background .3s ease,color .3s ease,transform .3s ease !important;
}
.tott-btn-bold-primary{
  background:#10B981 !important;
  color:#000 !important;
  -webkit-clip-path:polygon(0 0,100% 0,95% 100%,0 100%);
  clip-path:polygon(0 0,100% 0,95% 100%,0 100%);
}
.tott-btn-bold-primary:hover{
  -webkit-clip-path:polygon(0 0,100% 0,100% 100%,5% 100%) !important;
  clip-path:polygon(0 0,100% 0,100% 100%,5% 100%) !important;
  background:#fff !important;
  color:#000 !important;
  transform:translateX(5px) !important;
}
.tott-btn-bold-outline{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  -webkit-clip-path:polygon(5% 0,100% 0,100% 100%,0 100%);
  clip-path:polygon(5% 0,100% 0,100% 100%,0 100%);
}
.tott-btn-bold-outline:hover{
  background:rgba(16,185,129,.15) !important;
  color:#10B981 !important;
  -webkit-clip-path:polygon(0 0,95% 0,100% 100%,0 100%) !important;
  clip-path:polygon(0 0,95% 0,100% 100%,0 100%) !important;
  transform:translateX(-5px) !important;
}
.tott-hero-bg{
  position:absolute !important;inset:0 !important;
  background:url('/wp-content/uploads/2026/05/hero-bg.jpg') center/cover no-repeat !important;
  opacity:.45 !important;
}
.tott-hero-overlay{
  position:absolute !important;inset:0 !important;
  background:linear-gradient(135deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 50%,rgba(16,185,129,.1) 100%) !important;
}
.tott-hero-geo-1{position:absolute;right:-100px;top:-100px;width:500px;height:500px;border:2px solid rgba(16,185,129,.12);transform:rotate(45deg);z-index:1;}
.tott-hero-geo-2{position:absolute;right:-50px;top:-50px;width:400px;height:400px;border:1px solid rgba(16,185,129,.08);transform:rotate(45deg);z-index:1;}
.tott-hero-geo-3{position:absolute;left:5%;bottom:10%;width:200px;height:200px;border-radius:50%;border:2px solid rgba(16,185,129,.1);z-index:1;}
.tott-hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.4);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;}
.tott-hero-scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,#10B981,transparent);}

/* === SEND INQUIRY button: sharp rectangle, full-width, no clip-path === */
.tott-btn-primary,
.tott-contact-form button[type="submit"],
.tott-contact-form .tott-btn-primary{
  -webkit-clip-path:none !important;
  clip-path:none !important;
  border-radius:0 !important;
  width:100% !important;
  display:block !important;
  padding:18px 32px !important;
  background:#10B981 !important;
  color:#000 !important;
  font-family:'Lato',sans-serif !important;
  font-size:.85rem !important;
  font-weight:700 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  border:none !important;
  cursor:pointer;
  transition:background .25s ease,transform .25s ease !important;
}
.tott-btn-primary:hover,
.tott-contact-form button[type="submit"]:hover{
  background:#fff !important;color:#000 !important;
  transform:translateY(-2px) !important;
}
.tott-form-submit{width:100% !important;display:block !important;}

/* Nav menu dropdown: dark background, white text */
ul.sub-menu.elementor-nav-menu--dropdown,
.elementor-nav-menu .sub-menu,
.ast-desktop .main-header-menu .sub-menu,
.main-header-menu .sub-menu,
.menu .sub-menu {
  background: #0a0a0a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.4) !important;
}
ul.sub-menu.elementor-nav-menu--dropdown a,
.elementor-nav-menu .sub-menu a,
.ast-desktop .main-header-menu .sub-menu a,
.main-header-menu .sub-menu a,
.menu .sub-menu a {
  color: rgba(255,255,255,0.85) !important;
  background: transparent !important;
}
ul.sub-menu.elementor-nav-menu--dropdown a:hover,
ul.sub-menu.elementor-nav-menu--dropdown a:focus,
ul.sub-menu.elementor-nav-menu--dropdown .current-menu-item > a,
.elementor-nav-menu .sub-menu a:hover,
.elementor-nav-menu .sub-menu a:focus,
.ast-desktop .main-header-menu .sub-menu a:hover,
.ast-desktop .main-header-menu .sub-menu a:focus,
.main-header-menu .sub-menu a:hover,
.main-header-menu .sub-menu a:focus,
.menu .sub-menu a:hover,
.menu .sub-menu a:focus {
  color: #10B981 !important;
  background: rgba(255,255,255,0.04) !important;
}
/* About section: more vertical padding (override #tott-about-wrap reset) */
#tott-about-wrap.tott-about,
.tott-about{
  padding-top: 200px !important;
  padding-bottom: 200px !important;
}
/* About content column: tighten gap below H2, left-align */
.tott-about .tott-about-content,
.tott-about .elementor-element-f3bccf4{
  align-items: flex-start !important;
  text-align: left !important;
}
.tott-about .elementor-element-f3bccf4 > .e-con-inner{
  align-items: flex-start !important;
  gap: 0 !important;
  text-align: left !important;
}
.tott-about .elementor-element-0074ce5{margin-bottom: 8px !important;}
.tott-about .elementor-element-b01f229{margin-bottom: 16px !important;}
.tott-about h2{margin-bottom: 12px !important;}
.tott-about .elementor-element-c343ef6{margin-bottom: 32px !important;}
.tott-about-text{margin-top: 0 !important;}

/* About image accent: shrink so it doesn't extend so far past image */
.tott-about-image-accent{
  top: -16px !important;
  left: -16px !important;
  right: 24px !important;
  bottom: 24px !important;
}
/* About H2: shrink so "Makes a Statement" fits one line; force break only after "That" */
.tott-about h2{
  font-size: clamp(2rem, 2.6vw, 2.75rem) !important;
  line-height: 1.15 !important;
}
.tott-about h2 span{white-space: nowrap;}
/* === ABOUT: match original index.html exactly === */
/* Section padding back to 140 top/bottom */
#tott-about-wrap.tott-about,
.tott-about{
  padding-top: 140px !important;
  padding-bottom: 140px !important;
}
/* Widen content to 1200px, no side padding (matches original .container) */
.tott-about .tott-container,
.tott-about .elementor-element-d96df2a,
.tott-about .elementor-element-d96df2a > .e-con-inner{
  max-width: 1200px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
/* Grid gap 80px, columns 1fr 1fr, align center (original .about-grid) */
.tott-about .elementor-element-e221506,
.tott-about .elementor-element-e221506 > .e-con-inner{
  gap: 80px !important;
  align-items: center !important;
  grid-template-columns: 1fr 1fr !important;
}
/* H2 back to original size/line-height/margin */
.tott-about h2{
  font-size: clamp(2.5rem, 4vw, 3.5rem) !important;
  line-height: 1.1 !important;
  margin-bottom: 30px !important;
  font-weight: 700 !important;
}
.tott-about h2 span{white-space: normal !important;}
/* Restore stats spacing */
.tott-about .elementor-element-c343ef6{margin-bottom: 40px !important;}
.tott-about .elementor-element-b01f229{margin-bottom: 0 !important;}
/* Restore accent box to original (-20/-20/40/40) */
.tott-about-image-accent{
  top: -20px !important;
  left: -20px !important;
  right: 40px !important;
  bottom: 40px !important;
}
/* Make about a side padding so it doesn't go edge to edge on narrow screens */
.tott-about{padding-left: 40px !important; padding-right: 40px !important;}
/* About columns: stretch children so img/h2/p fill column width */
.tott-about .elementor-element-f3bccf4,
.tott-about .elementor-element-62b022e,
.tott-about .elementor-element-f3bccf4 > .e-con-inner,
.tott-about .elementor-element-62b022e > .e-con-inner{
  align-items: stretch !important;
  width: 100% !important;
}
.tott-about .elementor-element-f3bccf4 > .e-con-inner > *,
.tott-about .elementor-element-62b022e > .e-con-inner > *{
  width: 100% !important;
  max-width: none !important;
}
/* About image base styling moved to image widget 26c3063 (Advanced > Custom CSS) — height/clip-path/object-fit editable per-widget. Hover effect remains here below since it triggers from the wrapper. */
/* Text widget containers fill width too, so h2/p left-align cleanly */
.tott-about .elementor-widget-text-editor,
.tott-about .elementor-widget-text-editor .elementor-widget-container,
.tott-about .elementor-widget-html,
.tott-about .elementor-widget-html .elementor-widget-container{
  width: 100% !important;
}
/* Fix double-grid: outer container_type=grid wrapped by .e-con-inner causing nested grids.
   Make outer a simple block; keep grid only on .e-con-inner. */
.tott-about .elementor-element-e221506{
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.tott-about .elementor-element-e221506 > .e-con-inner{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 80px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1200px !important;
}

/* ===== About right-column spacing fix ===== */
.tott-about .elementor-element-f3bccf4,
.tott-about .elementor-element-f3bccf4 > .e-con-inner {
  padding: 0 !important;
  gap: 0 !important;
}
.tott-about .elementor-element-0074ce5,
.tott-about .elementor-element-b01f229,
.tott-about .elementor-element-c343ef6 {
  padding: 0 !important;
  margin: 0 !important;
}
.tott-about .elementor-element-0074ce5 .elementor-widget-container,
.tott-about .elementor-element-b01f229 .elementor-widget-container,
.tott-about .elementor-element-c343ef6 .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
.tott-about .elementor-element-0074ce5 { margin-bottom: 16px !important; }
.tott-about .elementor-element-b01f229 { margin-bottom: 30px !important; }
.tott-about .elementor-element-c343ef6 { margin-bottom: 40px !important; }
.tott-about .elementor-element-b01f229 h2 { margin: 0 !important; }
.tott-about .elementor-element-c343ef6 p { margin: 0 !important; }

/* Stats container - tight padding-top, no extra */
.tott-about .elementor-element-930531d {
  padding: 30px 0 0 0 !important;
  margin: 0 !important;
}
.tott-about .elementor-element-930531d > .e-con-inner {
  padding: 0 !important;
}

/* ===== About image hover effect (transition lives on widget 26c3063) ===== */
.tott-about-image-accent {
  transition: top 0.6s ease, left 0.6s ease, right 0.6s ease, bottom 0.6s ease !important;
}
.tott-about .elementor-element-62b022e:hover .elementor-widget-image img,
.tott-about-image-wrap:hover .elementor-widget-image img {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%) !important;
}
.tott-about .elementor-element-62b022e:hover .tott-about-image-accent,
.tott-about-image-wrap:hover .tott-about-image-accent {
  top: -30px !important;
  left: -30px !important;
}

/* About: kill the inner span margin-bottom — gap is on widget container */
.tott-about .elementor-element-0074ce5 .tott-section-label {
  margin-bottom: 0 !important;
}
.tott-about .elementor-element-0074ce5 {
  line-height: 1 !important;
  font-size: 0 !important;
}

/* === Services grid: fix double-wrap so 4 cards lay out in a row === */
.tott-services .elementor-element-9e6c3ed {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
}
.tott-services .elementor-element-9e6c3ed > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

/* Services header label visible: ensure not hidden */
.tott-services-header .tott-section-label {
  display: inline-block !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  margin-bottom: 16px !important;
  color: #10B981 !important;
}

@media (max-width: 1024px) {
  .tott-services .elementor-element-9e6c3ed > .e-con-inner {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .tott-services .elementor-element-9e6c3ed > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
}

/* === SERVICES: padding 140px 0 (match static), zoom only the bg === */
#tott-services-wrap.tott-services,
.tott-services {
  padding-top: 140px !important;
  padding-bottom: 140px !important;
}

/* Card itself: no scaling on hover; bg moves through a pseudo layer */
.tott-services .tott-service-card {
  position: relative !important;
  overflow: hidden !important;
  transform: none !important;
}
.tott-services .tott-service-card:hover {
  transform: none !important;
}

/* Bg layer: inherits card's background-image, scales on hover */
.tott-services .tott-service-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
.tott-services .tott-service-card:hover::before {
  transform: scale(1.08);
}

/* Make sure content (overlay, text) sits above the bg pseudo */
.tott-services .tott-service-card > .e-con-inner,
.tott-services .tott-service-card > * {
  position: relative;
  z-index: 1;
}

/* Service card: kill horizontal padding so overlay & content cover full image */
.tott-services .tott-service-card {
  padding: 0 !important;
}
.tott-services .tott-service-card > .e-con-inner {
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* === Service card content: tighten gaps between number / h3 / line / p / arrow === */
.tott-services .tott-service-card-content,
.tott-services .tott-service-card-content > .e-con-inner {
  gap: 0 !important;
  padding: 0 !important;
}
.tott-services .tott-service-card-content {
  padding: 2.5rem !important;
}
.tott-services .tott-service-card-content .elementor-widget,
.tott-services .tott-service-card-content .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
/* number → h3: 12px */
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget-html:first-child {
  margin-bottom: 12px !important;
}
/* h3 widget → line: 12px below h3 + 20px line margin-top (so net ~20px before line) */
.tott-services .tott-service-card-content h3 {
  margin: 0 0 12px 0 !important;
}
/* line widget: 8px below */
.tott-services .tott-service-card-line {
  margin: 0 !important;
}
/* paragraph hidden by default (max-height:0 from global), revealed on hover */
.tott-services .tott-service-card p {
  margin: 0 !important;
}
.tott-services .tott-service-card:hover p {
  margin-top: 4px !important;
}
/* arrow margin-top */
.tott-services .tott-service-card-arrow {
  margin-top: 20px !important;
}

/* Per-element spacing for service card content (nth-child) */
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(1) { margin: 0 0 12px 0 !important; }
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(2) { margin: 0 0 12px 0 !important; }
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(3) { margin: 20px 0 0 0 !important; }
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(4) { margin: 0 !important; }
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(5) { margin: 20px 0 0 0 !important; }

/* === Service card content: zero inside-element margins, widget margins are source of truth === */
.tott-services .tott-service-card-content .tott-service-card-number,
.tott-services .tott-service-card-content h3,
.tott-services .tott-service-card-content .tott-service-card-line,
.tott-services .tott-service-card-content p,
.tott-services .tott-service-card-content .tott-service-card-arrow {
  margin: 0 !important;
}
/* Target gaps to match static: 12 / 20 / 0 / 30 */
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(1) { margin: 0 0 12px 0 !important; }
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(2) { margin: 0 !important; }
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(3) { margin: 20px 0 0 0 !important; }
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(4) { margin: 0 !important; }
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(5) { margin: 30px 0 0 0 !important; }
/* hover: reveal p with a small top margin like static */
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(4):has(p) p {
  /* paragraph itself */
}
.tott-services .tott-service-card:hover .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(4) {
  margin-top: 4px !important;
}

/* Compensate for arrow translateY(10px) + inline-flex baseline (~5px) — drop widget mt to 15 so visual gap ≈ 30 */
.tott-services .tott-service-card-content > .e-con-inner > .elementor-widget:nth-child(5) { margin: 15px 0 0 0 !important; }

/* Force inner grid to a single auto-sized row (Elementor was emitting 2× explicit row heights, doubling height) */
.tott-services .elementor-element-9e6c3ed > .e-con-inner {
  grid-template-rows: auto !important;
  grid-auto-rows: 0 !important;
}

/* ========================================================================
   STORY SECTION — restore static layout
   ======================================================================== */

/* 1. Section vertical padding (override #tott-story-wrap reset) */
#tott-story-wrap.tott-story,
.tott-story {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

/* 2. Fix double-grid: outer block, inner 2-col grid (like About/Services) */
.tott-story .elementor-element-ba9d469 {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.tott-story .elementor-element-ba9d469 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: auto !important;
  gap: 80px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1200px !important;
  padding: 0 !important;
}

/* 3. Story content column: stretch widgets, left-align (currently align-items:center) */
.tott-story .tott-story-content,
.tott-story .tott-story-content > .e-con-inner {
  align-items: flex-start !important;
  text-align: left !important;
  padding: 0 !important;
  gap: 0 !important;
}
.tott-story .tott-story-content > .e-con-inner > *:not(.elementor-widget-button) {
  width: 100% !important;
  max-width: none !important;
}
.tott-story .tott-story-content .elementor-widget,
.tott-story .tott-story-content .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

/* 4. Per-element vertical spacing (match static: label mb24, h2 mb30, p mb30, features mb40) */
.tott-story .tott-story-content > .e-con-inner > .elementor-element { margin: 0 !important; }
.tott-story .elementor-element-b8efe58 { margin-bottom: 24px !important; }
.tott-story .elementor-element-8273911 { margin-bottom: 30px !important; }
.tott-story .elementor-element-fc9a558 { margin-bottom: 30px !important; }
.tott-story .elementor-element-70963e4 { margin-bottom: 40px !important; }
.tott-story .tott-story-content h2 { margin: 0 !important; }
.tott-story .tott-story-text { margin: 0 !important; }

/* 5. Features: vertical stack with 16px gap, each feature horizontal row */
.tott-story .tott-story-features > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: 0 !important;
}
.tott-story .tott-story-feature {
  width: 100% !important;
  padding: 0 !important;
}
.tott-story .tott-story-feature > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 0 !important;
}

/* 6. Image column: position relative for badge overlay; fix image dims + clip-path */
.tott-story .tott-story-image-wrap {
  position: relative !important;
  padding: 0 !important;
  overflow: visible !important;
}
.tott-story .tott-story-image-wrap > .e-con-inner {
  padding: 0 !important;
  position: relative !important;
  overflow: visible !important;
}
/* Story image base styling moved to image widget b3f2580 (Advanced > Custom CSS) — height/clip-path/object-fit editable per-widget. Hover effect remains below since it triggers from the wrapper. */
.tott-story .tott-story-image-wrap:hover img {
  clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%) !important;
}

/* 7. Badge: absolutely positioned, bottom-left overlap */
.tott-story .tott-story-image-badge {
  position: absolute !important;
  bottom: -30px !important;
  left: -30px !important;
  background: #000 !important;
  color: #fff !important;
  padding: 30px !important;
  z-index: 3 !important;
  width: 180px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.tott-story .tott-story-image-badge-number {
  font-family: 'Merriweather', serif !important;
  font-size: 3rem !important;
  font-weight: 700 !important;
  color: #10B981 !important;
  line-height: 1 !important;
}
.tott-story .tott-story-image-badge-text {
  font-family: 'Lato', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  margin-top: 4px !important;
  color: rgba(255,255,255,0.7) !important;
}

/* Story button styling moved to widget settings (Elementor widget 7333e9a) — colors, typography, padding editable in panel; clip-path + arrow live in widget Advanced > Custom CSS */

/* 9. Section label: kill any centering, force left + green line before */
.tott-story .tott-section-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
}
.tott-story .tott-section-label::before {
  content: '' !important;
  display: block !important;
  width: 30px !important;
  height: 2px !important;
  background: #10B981 !important;
}

/* Story per-element spacing — higher specificity override for the
   `.tott-story-content > .e-con-inner > .elementor-element { margin:0 }` rule.
   Static reference gaps: label→h2 = 24, h2→p = 30, p→features = 30, features→button = 40 */
.tott-story .tott-story-content > .e-con-inner > .elementor-element.elementor-element-b8efe58 { margin: 0 0 24px 0 !important; }
.tott-story .tott-story-content > .e-con-inner > .elementor-element.elementor-element-8273911 { margin: 0 0 30px 0 !important; }
.tott-story .tott-story-content > .e-con-inner > .elementor-element.elementor-element-fc9a558 { margin: 0 0 30px 0 !important; }
.tott-story .tott-story-content > .e-con-inner > .elementor-element.elementor-element-70963e4 { margin: 0 0 40px 0 !important; }
.tott-story .tott-story-content > .e-con-inner > .elementor-element.elementor-element-7333e9a { margin: 0 !important; }


/* ============= TESTIMONIAL SECTION FIX ============= */
/* Restore section vertical padding (160px top/bottom per static) */
#tott-testimonial-wrap.tott-testimonial,
.tott-testimonial.e-con {
  padding-top: 160px !important;
  padding-bottom: 160px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: #000 !important;
}

/* Inner container fills width, content centers */
#tott-testimonial-wrap > .e-con-inner {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 30px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Content flex column container — already 900px max-width per inspection, normalize */
.tott-testimonial .tott-testimonial-content {
  max-width: 900px !important;
  margin: 0 auto !important;
  text-align: center !important;
  padding: 0 !important;
  background: transparent !important;
}
.tott-testimonial .tott-testimonial-content > .e-con-inner {
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  display: block !important;
}

/* Per-widget spacing between testimonial elements */
.tott-testimonial .tott-testimonial-content > .e-con-inner > .elementor-element {
  margin: 0 !important;
}
.tott-testimonial .tott-testimonial-content > .e-con-inner > .elementor-element.elementor-element-1c2bbec {
  margin: 0 0 20px 0 !important;
}
.tott-testimonial .tott-testimonial-content > .e-con-inner > .elementor-element.elementor-element-508d8ce {
  margin: 0 0 40px 0 !important;
}
.tott-testimonial .tott-testimonial-content > .e-con-inner > .elementor-element.elementor-element-a4ede1f {
  margin: 0 auto 30px auto !important;
}
.tott-testimonial .tott-testimonial-content > .e-con-inner > .elementor-element.elementor-element-ebedc77 {
  margin: 0 !important;
}

/* Quote mark — Merriweather 10rem, green, opacity 0.3, line-height 0.5 */
.tott-testimonial .tott-testimonial-quote-mark {
  font-family: 'Merriweather', Georgia, serif !important;
  font-size: 10rem !important;
  color: #10B981 !important;
  line-height: 0.5 !important;
  opacity: 0.3 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-weight: 400 !important;
}

/* Blockquote text — Merriweather italic, white, clamp(1.3-1.8rem), line-height 1.7 */
.tott-testimonial .elementor-element-508d8ce,
.tott-testimonial .elementor-element-508d8ce .elementor-widget-container,
.tott-testimonial .elementor-element-508d8ce p,
.tott-testimonial .elementor-element-508d8ce blockquote {
  font-family: 'Merriweather', Georgia, serif !important;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem) !important;
  color: #ffffff !important;
  line-height: 1.7 !important;
  font-style: italic !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-weight: 400 !important;
  border: none !important;
  background: transparent !important;
}

/* Divider — 60×3px green, centered */
.tott-testimonial .tott-testimonial-divider,
.tott-testimonial .elementor-element-a4ede1f .tott-testimonial-divider {
  width: 60px !important;
  height: 3px !important;
  background: #10B981 !important;
  margin: 0 auto !important;
  border: none !important;
  display: block !important;
}
.tott-testimonial .elementor-element-a4ede1f .elementor-widget-container {
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Author — Lato 0.85rem bold uppercase green letter-spacing 0.2em */
.tott-testimonial .elementor-element-ebedc77,
.tott-testimonial .elementor-element-ebedc77 .elementor-widget-container,
.tott-testimonial .elementor-element-ebedc77 p {
  font-family: 'Lato', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #10B981 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-style: normal !important;
  background: transparent !important;
}

/* ============= CONTACT (GET IN TOUCH) SECTION FIX ============= */

/* Inner wrapper (db5f5c2 e-con-inner) — center, 1200px, two-column grid 1fr 1.2fr */
#tott-contact-wrap > .e-con-inner {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 30px !important;
  position: relative !important;
  z-index: 2 !important;
}
.tott-contact .elementor-element-db5f5c2 {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.tott-contact .elementor-element-db5f5c2 > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 5rem !important;
  align-items: center !important;
  max-width: 100% !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ===== INFO SIDE ===== */
.tott-contact .elementor-element-d313cae {
  background: transparent !important;
  padding: 0 !important;
}
.tott-contact .elementor-element-d313cae > .e-con-inner {
  padding: 0 !important;
  display: block !important;
}
.tott-contact .elementor-element-d313cae > .e-con-inner > .elementor-element {
  margin: 0 !important;
}
/* Section label */
.tott-contact .elementor-element-225943d { margin: 0 0 16px 0 !important; }
.tott-contact .tott-section-label {
  font-family: 'Lato', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: #10B981 !important;
  display: inline-block !important;
}
/* H2 */
.tott-contact .elementor-element-1c56259 { margin: 0 0 24px 0 !important; }
.tott-contact .elementor-element-1c56259 h2,
.tott-contact .elementor-element-1c56259 .elementor-widget-container > * {
  font-family: 'Merriweather', Georgia, serif !important;
  font-size: clamp(2rem, 3.5vw, 3rem) !important;
  color: #fff !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}
.tott-contact .elementor-element-1c56259 h2 span {
  color: #10B981 !important;
  font-style: italic !important;
}
/* Paragraph */
.tott-contact .elementor-element-da758ee { margin: 0 0 40px 0 !important; }
.tott-contact .elementor-element-da758ee p,
.tott-contact .elementor-element-da758ee .elementor-widget-container {
  font-family: 'Lato', sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.6) !important;
  margin: 0 !important;
}

/* Contact details list container */
.tott-contact .elementor-element-fd7b4cc {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.tott-contact .elementor-element-fd7b4cc > .e-con-inner {
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}
.tott-contact .elementor-element-fd7b4cc > .e-con-inner > .elementor-element {
  margin: 0 !important;
}

/* Each contact row (icon + text in flex-row) */
.tott-contact .elementor-element-da31040,
.tott-contact .elementor-element-a80938f,
.tott-contact .elementor-element-2de277c,
.tott-contact .elementor-element-506c3c8 {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  width: 100% !important;
}
.tott-contact .elementor-element-da31040 > .e-con-inner,
.tott-contact .elementor-element-a80938f > .e-con-inner,
.tott-contact .elementor-element-2de277c > .e-con-inner,
.tott-contact .elementor-element-506c3c8 > .e-con-inner {
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  width: 100% !important;
}

/* ===== CONTACT ICON — 40×40 circle with green border ===== */
.tott-contact .tott-contact-icon {
  flex-shrink: 0 !important;
  width: 40px !important;
  height: 40px !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #10B981 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}
.tott-contact .tott-contact-icon svg {
  width: 16px !important;
  height: 16px !important;
  stroke: #10B981 !important;
  fill: none !important;
  stroke-width: 2 !important;
  display: block !important;
}
/* Container widgets holding the icon must not constrain it */
.tott-contact .elementor-element-716c403,
.tott-contact .elementor-element-35bf5eb,
.tott-contact .elementor-element-ba587b1,
.tott-contact .elementor-element-a46eeb3 {
  flex-shrink: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Contact text widgets */
.tott-contact .elementor-element-44093a4,
.tott-contact .elementor-element-557baa5,
.tott-contact .elementor-element-8835909,
.tott-contact .elementor-element-eb12fb6 {
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
}
.tott-contact .tott-contact-text,
.tott-contact .tott-contact-text * {
  font-family: 'Lato', sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.75) !important;
  margin: 0 !important;
}
.tott-contact .tott-contact-text strong {
  color: #fff !important;
  display: block !important;
  margin-bottom: 2px !important;
  font-weight: 700 !important;
}
.tott-contact .tott-contact-text a {
  color: rgba(255,255,255,0.75) !important;
  text-decoration: none !important;
}
.tott-contact .tott-contact-text a:hover {
  color: #10B981 !important;
}

/* ===== FORM SIDE ===== */
.tott-contact .elementor-element-f970648 {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  padding: 3rem !important;
  border-radius: 4px !important;
}
.tott-contact .elementor-element-f970648 > .e-con-inner {
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Elementor form layout — fields-wrapper grid */
.tott-contact .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.25rem !important;
}
.tott-contact .elementor-field-group {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
}
.tott-contact .elementor-field-group.elementor-col-100,
.tott-contact .elementor-field-group.elementor-field-type-textarea,
.tott-contact .elementor-field-group.elementor-field-type-select,
.tott-contact .elementor-field-group.elementor-field-type-submit {
  grid-column: 1 / -1 !important;
}

/* Labels — 0.7rem uppercase letter-spaced fade-white */
.tott-contact .elementor-field-group > label,
.tott-contact .elementor-field-label {
  font-family: 'Lato', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.5) !important;
  margin: 0 0 0.5rem 0 !important;
  padding: 0 !important;
  display: block !important;
  line-height: 1 !important;
}

/* Inputs / textarea / select — dark glass style */
.tott-contact .elementor-field-textual,
.tott-contact input[type="text"],
.tott-contact input[type="email"],
.tott-contact input[type="tel"],
.tott-contact input[type="url"],
.tott-contact input[type="password"],
.tott-contact input[type="number"],
.tott-contact textarea,
.tott-contact select {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
  padding: 0.85rem 1rem !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
  border-radius: 2px !important;
  transition: border-color 0.35s ease !important;
  outline: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.tott-contact input::placeholder,
.tott-contact textarea::placeholder {
  color: rgba(255,255,255,0.35) !important;
  font-family: 'Lato', sans-serif !important;
  opacity: 1 !important;
}
.tott-contact input:focus,
.tott-contact textarea:focus,
.tott-contact select:focus {
  border-color: #10B981 !important;
  background: rgba(255,255,255,0.05) !important;
  color: #fff !important;
}
.tott-contact textarea {
  resize: vertical !important;
  min-height: 120px !important;
}
.tott-contact select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%2310B981' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  padding-right: 2.5rem !important;
}
.tott-contact select option {
  background: #111 !important;
  color: #fff !important;
}

/* Submit button — full-width green/black uppercase */
.tott-contact .elementor-field-type-submit { margin-top: 0.25rem !important; }
.tott-contact button[type="submit"],
.tott-contact .elementor-button {
  width: 100% !important;
  padding: 1.1rem !important;
  font-size: 0.85rem !important;
  border: none !important;
  background: #10B981 !important;
  color: #000 !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.3s ease !important;
  border-radius: 2px !important;
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
}
.tott-contact button[type="submit"]:hover,
.tott-contact .elementor-button:hover {
  background: #0ea372 !important;
  color: #000 !important;
}
.tott-contact .elementor-button-content-wrapper,
.tott-contact .elementor-button-text {
  width: 100% !important;
  justify-content: center !important;
}

@media (max-width: 1024px) {
  .tott-contact .elementor-element-db5f5c2 > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
  }
}

/* ============= CONTACT LAYOUT CORRECTION ============= */
/* Force grid container's inner to 1140px max-width, centered */
.tott-contact .elementor-element-db5f5c2 > .e-con-inner {
  max-width: 1140px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 5rem !important;
  align-items: center !important;
}

/* Section: keep bg/overlay full-bleed but center content */
#tott-contact-wrap.tott-contact,
.tott-contact.e-con {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
}

/* The grid container itself takes full width of section padding box */
.tott-contact .elementor-element-db5f5c2 {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
}

/* Center the grid inner via parent justify-content (since parent is itself a grid) */
.tott-contact .elementor-element-db5f5c2 {
  justify-content: center !important;
  justify-items: center !important;
}
.tott-contact .elementor-element-db5f5c2 > .e-con-inner {
  justify-self: center !important;
}

/* Override Elementor's flex:1 1 100% on form inputs which causes 70px tall fields */
.tott-contact .elementor-field-group input,
.tott-contact .elementor-field-group textarea,
.tott-contact .elementor-field-group select {
  flex: 0 0 auto !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: auto !important;
}

/* Force input heights to match static (47px) */
.tott-contact .elementor-field-group input[type="text"],
.tott-contact .elementor-field-group input[type="email"],
.tott-contact .elementor-field-group input[type="tel"],
.tott-contact .elementor-field-group input[type="url"],
.tott-contact .elementor-field-group input[type="password"],
.tott-contact .elementor-field-group input[type="number"],
.tott-contact .elementor-field-group select {
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
  padding: 0.85rem 1rem !important;
}

/* Textarea: enforce 120px min-height */
.tott-contact .elementor-field-group textarea {
  height: 120px !important;
  min-height: 120px !important;
  line-height: 1.4 !important;
  padding: 0.85rem 1rem !important;
  flex: 0 0 auto !important;
  resize: vertical !important;
}

/* Field-group should not be a fixed-height flex container */
.tott-contact .elementor-field-group {
  align-items: stretch !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Force select to match input height (50px) */
.tott-contact .elementor-field-group select {
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 16px !important;
  padding-right: 40px !important;
}

/* Also fix any element-id specific Elementor field-group height */
.tott-contact .elementor-field-type-select {
  align-items: stretch !important;
}
.tott-contact .elementor-field-type-select .elementor-field-group {
  align-items: stretch !important;
}

/* Force label to be a full-width block on top, select wrapper full-width below */
.tott-contact .elementor-field-type-select {
  display: block !important;
  width: 100% !important;
}
.tott-contact .elementor-field-type-select > label,
.tott-contact .elementor-field-type-select .elementor-field-label {
  display: block !important;
  width: 100% !important;
  float: none !important;
  position: static !important;
  margin: 0 0 0.5rem 0 !important;
}
.tott-contact .elementor-field-type-select .elementor-select-wrapper {
  display: block !important;
  width: 100% !important;
  float: none !important;
  position: relative !important;
  clear: both !important;
}
/* Same protective rule for all field types */
.tott-contact .elementor-field-group {
  display: block !important;
}
.tott-contact .elementor-field-group > label,
.tott-contact .elementor-field-group .elementor-field-label {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}
.tott-contact .elementor-field-group .elementor-field,
.tott-contact .elementor-field-group .elementor-select-wrapper {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* User request: add padding above/below the "Ready to create something..." paragraph */
.tott-contact .elementor-element-da758ee {
  margin: 24px 0 48px 0 !important;
}

/* Higher-specificity override for paragraph padding */
.tott-contact .elementor-element-d313cae > .e-con-inner > .elementor-element.elementor-element-da758ee {
  margin: 24px 0 48px 0 !important;
}
/* ===== HERO SECTION ===== */
.tott-hero {
  position: relative !important;
  min-height: 100vh;
  display: flex !important;
  align-items: center;
  background: #000 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.tott-hero > .e-con-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.tott-hero-bg {
  position: absolute;
  inset: 0;
  background: url('https://talkofthetown1.wpenginepowered.com/wp-content/uploads/2026/05/hero-bg.jpg') center/cover no-repeat;
  opacity: 0.4;
  transform: scale(1.1);
  z-index: 0;
  pointer-events: none;
}

.tott-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 50%, rgba(16,185,129,0.1) 100%);
  z-index: 0;
  pointer-events: none;
}

.tott-hero-geo-1 {
  position: absolute;
  right: -100px;
  top: -100px;
  width: 500px;
  height: 500px;
  border: 2px solid rgba(16,185,129,0.12);
  transform: rotate(45deg);
  z-index: 1;
  pointer-events: none;
}

.tott-hero-geo-2 {
  position: absolute;
  right: -50px;
  top: -50px;
  width: 400px;
  height: 400px;
  border: 1px solid rgba(16,185,129,0.08);
  transform: rotate(45deg);
  z-index: 1;
  pointer-events: none;
}

.tott-hero-geo-3 {
  position: absolute;
  left: 5%;
  bottom: 10%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 2px solid rgba(16,185,129,0.1);
  z-index: 1;
  pointer-events: none;
}

.tott-hero .tott-hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  width: 100%;
  padding: 0 40px !important;
  margin: 0;
}

.tott-hero .tott-hero-content > .e-con-inner {
  max-width: 800px;
  padding: 0;
  align-items: flex-start;
}

.tott-hero .tott-hero-tagline {
  font-family: 'Lato', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: #10B981;
  margin: 0 0 24px 0 !important;
  display: flex;
  align-items: center;
  gap: 16px;
}

.tott-hero .tott-hero-tagline::before {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: #10B981;
}

.tott-hero .tott-hero-h1 {
  font-size: clamp(3.5rem, 8vw, 7rem);
  color: #fff;
  margin: 0 0 12px 0 !important;
  line-height: 0.95;
  font-family: 'Playfair Display', serif;
  font-weight: 400;
}

.tott-hero .tott-hero-h1 .tott-highlight {
  color: #10B981;
  display: block;
  font-style: italic;
}

.tott-hero .tott-hero-subtitle {
  font-family: 'Lato', sans-serif;
  font-size: 1.15rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.8;
  max-width: 550px;
  margin: 0 0 40px 0 !important;
}

.tott-hero .tott-hero-buttons {
  padding: 0 !important;
  margin: 0;
  width: auto;
  max-width: 100%;
}

.tott-hero .tott-hero-buttons > .e-con-inner {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
  padding: 0;
  align-items: center;
  justify-content: flex-start;
}

.tott-hero-scroll {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.4);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  pointer-events: none;
  font-family: 'Lato', sans-serif;
}

.tott-hero-scroll-line {
  width: 1px;
  height: 50px;
  background: linear-gradient(to bottom, #10B981, transparent);
}

/* HTML widgets carrying decorations shouldn't take flow space */
.tott-hero > .elementor-element.elementor-widget-html {
  position: static !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Text editor widget reset inside hero (no extra theme margins) */
.tott-hero .elementor-widget-text-editor {
  padding: 0;
}

.tott-hero .elementor-widget-text-editor > .elementor-widget-container {
  padding: 0;
}

/* Mobile */
@media (max-width: 768px) {
  .tott-hero .tott-hero-content {
    padding: 0 20px !important;
  }
  
  .tott-hero-geo-1, .tott-hero-geo-2 {
    width: 300px;
    height: 300px;
  }
}

/* ===== HERO FIX OVERRIDES (element-id based) ===== */
/* Section already has tott-hero — keep all section-level rules */
.tott-hero {
  position: relative !important;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  background: #000 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* The decorations HTML widget should not occupy flow space */
.tott-hero > .elementor-element-399879a {
  position: static !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 0 !important;
}

/* Content container — left-aligned, 800px max */
.tott-hero > .elementor-element-0e370dc {
  position: relative !important;
  z-index: 2 !important;
  max-width: 800px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 40px !important;
  align-self: flex-start !important;
}

.tott-hero > .elementor-element-0e370dc > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

/* Buttons container */
.tott-hero .elementor-element-c414cb4 {
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tott-hero .elementor-element-c414cb4 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
  max-width: 100% !important;
  width: auto !important;
}

/* Force buttons to wrap when narrow content area */
@media (max-width: 900px) {
  .tott-hero .elementor-element-c414cb4 > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}

/* ===== HERO ROUND-3 FIXES ===== */

/* 1) H1 must be Merriweather (global.css h1 rule) */
.tott-hero .tott-hero-h1,
.tott-hero h1.tott-hero-h1,
.tott-hero .elementor-widget-text-editor h1.tott-hero-h1 {
  font-family: 'Merriweather', serif !important;
  font-weight: 700 !important;
  font-size: clamp(3.5rem, 8vw, 7rem) !important;
  line-height: 0.95 !important;
}

/* 2) Eliminate inter-widget gaps inside content + buttons containers */
.tott-hero > .elementor-element-0e370dc > .e-con-inner > .elementor-element {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.tott-hero > .elementor-element-0e370dc > .e-con-inner > .elementor-element-c414cb4 {
  width: auto !important;
}
.tott-hero > .elementor-element-0e370dc > .e-con-inner {
  gap: 0 !important;
  row-gap: 0 !important;
}

/* Reset Elementor text-editor widget wrapper padding */
.tott-hero .elementor-widget-text-editor > .elementor-widget-container,
.tott-hero .elementor-widget-html > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

/* 3) Stack buttons vertically */
.tott-hero .elementor-element-c414cb4 > .e-con-inner {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

/* Buttons should size to their content, not stretch */
.tott-hero .elementor-element-c414cb4 .elementor-widget-button {
  width: auto !important;
  flex: 0 0 auto !important;
}

/* 4) Add a touch of top spacing — but the section is min-height 100vh with justify center, so the content is centered vertically. The user wants more top margin so subtle push the content slightly down by using justify-content somewhere between center and end — instead increase top padding so content moves down. Actually content should remain centered, but section can have padding-top to leave room for the navigation. Let me just remove top constraint and keep centered.  */

/* Reduce visual gap right under tagline */
.tott-hero .tott-hero-tagline {
  margin-bottom: 24px !important;
}

/* h1 to subtitle and subtitle to buttons */
.tott-hero .tott-hero-h1 {
  margin-bottom: 24px !important;
}
.tott-hero .tott-hero-subtitle {
  margin-bottom: 40px !important;
}

/* The user said "Talk of the Town and We Are where..." too much space — reduce h1 bottom margin */
/* Static has margin-bottom: 12px for h1 — let's match exactly */
.tott-hero h1.tott-hero-h1 {
  margin: 0 0 12px 0 !important;
}

/* Push content down a bit so it isn't touching the navigation visual area */
.tott-hero {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* ===== HERO ROUND-4 FIXES ===== */

/* Buttons container has NO .e-con-inner (e-con-full). Target the container directly */
.tott-hero .elementor-element-c414cb4 {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
}

/* Ensure each button widget shrinks to content */
.tott-hero .elementor-element-c414cb4 > .elementor-widget-button {
  width: auto !important;
  align-self: flex-start !important;
}

/* Constrain h1 width to its container (was breaking out to full viewport) */
.tott-hero > .elementor-element-0e370dc > .e-con-inner > .elementor-widget-text-editor {
  max-width: 100% !important;
  width: 100% !important;
}
.tott-hero h1.tott-hero-h1 {
  max-width: 100% !important;
  width: auto !important;
}

/* Constrain content widget width inside the boxed 800px parent */
.tott-hero > .elementor-element-0e370dc {
  max-width: 800px !important;
  width: 100% !important;
}
.tott-hero > .elementor-element-0e370dc > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
}

/* ===== HERO ROUND-5: smaller buttons + more top margin ===== */

/* Make hero anchor content to top instead of center */
.tott-hero {
  justify-content: flex-start !important;
  padding-top: 200px !important;
  padding-bottom: 80px !important;
}

/* Force both buttons to be the same height by normalizing the text container */

/* ===== HERO ROUND-6: ID-based body.elementor-page-27s to beat #tott-hero-wrap legacy rules ===== */

/* Section itself */
section#tott-hero-wrap.tott-hero {
  padding: 180px 0 80px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  min-height: 100vh !important;
  position: relative !important;
  background: #000 !important;
  overflow: hidden !important;
}

/* Content container child */
#tott-hero-wrap > .elementor-element-0e370dc {
  position: relative !important;
  z-index: 2 !important;
  max-width: 800px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 40px !important;
  align-self: flex-start !important;
}

#tott-hero-wrap > .elementor-element-0e370dc > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

/* Decorations widget (no flow space) */
#tott-hero-wrap > .elementor-element-399879a {
  position: static !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 0 !important;
}

/* Buttons container — column stacked, smaller buttons */
#tott-hero-wrap .elementor-element-c414cb4 {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
}

#tott-hero-wrap .elementor-element-c414cb4 > .elementor-widget-button {
  width: auto !important;
  align-self: flex-start !important;
  flex: 0 0 auto !important;
}

/* Button styling — smaller, tighter */

/* H1 font + width */
#tott-hero-wrap .tott-hero-h1 {
  font-family: 'Merriweather', serif !important;
  font-weight: 700 !important;
  font-size: clamp(3.5rem, 8vw, 7rem) !important;
  line-height: 0.95 !important;
  color: #fff !important;
  margin: 0 0 12px 0 !important;
  max-width: 100% !important;
}

#tott-hero-wrap .tott-hero-h1 .tott-highlight {
  color: #10B981 !important;
  display: block !important;
  font-style: italic !important;
}

/* Tagline spacing */
#tott-hero-wrap .tott-hero-tagline {
  margin: 0 0 24px 0 !important;
}

/* Subtitle spacing */
#tott-hero-wrap .tott-hero-subtitle {
  margin: 0 0 40px 0 !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 1.15rem !important;
  color: rgba(255,255,255,0.7) !important;
  line-height: 1.8 !important;
  max-width: 550px !important;
}

/* Mobile */
@media (max-width: 768px) {
  section#tott-hero-wrap.tott-hero {
    padding: 140px 0 60px 0 !important;
  }
  #tott-hero-wrap > .elementor-element-0e370dc {
    padding: 0 20px !important;
  }
}

/* ===== HERO ROUND-7: reset outer button widget div, slim buttons ===== */

/* Strip the outer widget div of background/border/padding so only the inner anchor styles show */

#tott-hero-wrap .elementor-element-c414cb4 .elementor-widget-button {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  width: auto !important;
}

/* ===== CONTACT SECTION LABEL — fix slash position ===== */
#tott-contact-wrap .tott-section-label,
.tott-contact .tott-section-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Shift story and contact labels left so dash overflows and text aligns with heading */
#tott-story-wrap .tott-section-label,
#tott-contact-wrap .tott-section-label {
  margin-left: -32px !important;
}

/* ===== TABLET FIXES (<=1024px) — desktop unaffected ===== */
@media (max-width: 1024px) {

  /* --- HEADER: hide desktop menu items, keep only hamburger --- */
  .ast-desktop-header .ast-builder-menu-1,
  .ast-desktop-header .main-header-menu,
  .ast-desktop-header .ast-builder-menu-1-container,
  #ast-desktop-header .main-header-bar-navigation,
  .ast-desktop .main-header-menu-wrap,
  .ast-header-button-1 {
    display: none !important;
  }
  /* Show mobile header trigger */
  .ast-mobile-header-wrap,
  .ast-mobile-menu-buttons-fill {
    display: flex !important;
  }

  /* --- HERO --- */
  section#tott-hero-wrap.tott-hero {
    padding: 100px 0 60px 0 !important;
    min-height: auto !important;
    height: auto !important;
  }
  #tott-hero-wrap > .elementor-element-0e370dc {
    padding: 0 30px !important;
    max-width: 100% !important;
  }
  #tott-hero-wrap .tott-hero-h1 {
    font-size: clamp(2.5rem, 7vw, 4.5rem) !important;
  }
  #tott-hero-wrap .tott-hero-subtitle {
    font-size: 1rem !important;
  }

  /* --- ABOUT: add horizontal padding so image/stats don't hit edges --- */
  #tott-about-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  #tott-about-wrap .tott-about-stat-number {
    font-size: 2rem !important;
  }
  #tott-about-wrap .tott-about-stat-label {
    font-size: 0.7rem !important;
  }
  /* Stats row: allow wrap */
  #tott-about-wrap [data-id="930531d"] {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }

  /* --- SERVICES GRID: force auto-row height, allow expansion --- */
  #tott-services-wrap .tott-services-grid,
  #tott-services-wrap [data-id="9e6c3ed"] {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    grid-auto-rows: auto !important;
  }
  #tott-services-wrap .tott-services-grid > .e-con-inner,
  #tott-services-wrap [data-id="9e6c3ed"] > .e-con-inner {
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    grid-auto-rows: auto !important;
  }
  #tott-services-wrap .tott-service-card {
    height: 420px !important;
    min-height: 420px !important;
    width: 100% !important;
  }
  #tott-services-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* --- STORY: padding so it doesn't go edge-to-edge --- */
  #tott-story-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* --- TESTIMONIAL: padding so it doesn't hit edges --- */
  #tott-testimonial-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* --- CONTACT --- */
  /* Reset the -32px label margin (was making dash touch edge on tablet) */
  #tott-contact-wrap .tott-section-label {
    margin-left: 0 !important;
  }
  /* Section padding so dash and content have breathing room */
  #tott-contact-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  /* Story label too */
  #tott-story-wrap .tott-section-label {
    margin-left: 0 !important;
  }

  /* Form: stack name fields vertically (one per row) */
  #tott-contact-wrap .elementor-form .elementor-field-group {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  #tott-contact-wrap .elementor-form .elementor-field-group.elementor-col-50 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  /* Contact grid (left info / right form): stack vertically */
  #tott-contact-wrap [data-id="db5f5c2"] {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 40px !important;
  }
  #tott-contact-wrap [data-id="db5f5c2"] > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 40px !important;
  }

  /* --- FOOTER: 2 columns on tablet --- */
  .site-footer .ast-builder-grid-row,
  .site-below-footer-wrap .ast-builder-grid-row,
  footer .elementor-element[data-element_type="container"] {
    grid-template-columns: 1fr 1fr !important;
  }

}

/* ===== NARROW MOBILE (<=600px) ===== */
@media (max-width: 600px) {
  #tott-hero-wrap .tott-hero-h1 { font-size: 2.5rem !important; }
  #tott-about-wrap [data-id="930531d"] {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .site-footer .ast-builder-grid-row,
  .site-below-footer-wrap .ast-builder-grid-row,
  footer .elementor-element[data-element_type="container"] {
    grid-template-columns: 1fr !important;
  }
}

/* Tablet form field stacking - higher specificity to beat Elementor's min-width:768px rule */
@media (max-width: 1024px) {
  #tott-contact-wrap form .elementor-form-fields-wrapper > .elementor-field-group.elementor-col-50,
  #tott-contact-wrap form .elementor-form-fields-wrapper > .elementor-column.elementor-col-50,
  body .elementor-element-13adb2b .elementor-form-fields-wrapper > .elementor-field-group.elementor-col-50 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
  }
}

/* Tablet form: parent is display:grid 2-col, force single column */
@media (max-width: 1024px) {
  #tott-contact-wrap form .elementor-form-fields-wrapper,
  .elementor-element-13adb2b .elementor-form-fields-wrapper {
    grid-template-columns: 1fr !important;
  }
  #tott-contact-wrap form .elementor-form-fields-wrapper > .elementor-field-group,
  .elementor-element-13adb2b .elementor-form-fields-wrapper > .elementor-field-group {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Tablet header: collapse to hamburger menu only, hide horizontal nav + Get a Quote */
@media (max-width: 1024px) {
  /* Hide the horizontal Elementor nav menu — let the hamburger toggle handle navigation */
  .elementor-nav-menu--main,
  nav.elementor-nav-menu--main,
  .elementor-element-9b74c06 .elementor-nav-menu--main {
    display: none !important;
  }
  /* Ensure hamburger toggle is visible */
  .elementor-menu-toggle {
    display: flex !important;
  }
  /* Hide the Get a Quote button in the header */
  .elementor-element-07107e7,
  header .tott-cta.elementor-widget-button {
    display: none !important;
  }
  
  /* Hero top padding must clear the header logo (logo height ~90px + top offset ~60px = 150px) */
  section#tott-hero-wrap.tott-hero {
    padding-top: 180px !important;
    padding-bottom: 60px !important;
  }
}

/* Mobile: stack about section image above text */
@media (max-width: 767px) {
  #tott-about-wrap > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile: stack about section image above text (target the actual grid container) */
@media (max-width: 767px) {
  #tott-about-wrap .elementor-element-e221506 > .e-con-inner,
  #tott-about-wrap .e-grid.e-con-box > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile: remove extra 10px padding on about image column so it aligns with text */
@media (max-width: 767px) {
  #tott-about-wrap .elementor-element-62b022e {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Mobile: stack story section with image on top, text below */
@media (max-width: 767px) {
  #tott-story-wrap .elementor-element-ba9d469 > .e-con-inner,
  #tott-story-wrap .e-grid.e-con-boxed > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  /* Image column comes second in DOM — pull it to the top */
  #tott-story-wrap .elementor-element-5cfac26 {
    order: -1 !important;
  }
}
@media (max-width: 767px) {
  #tott-footer .tott-footer-inner { gap: 16px !important; }
  #tott-footer .tott-footer-brand { grid-column: 1 / -1 !important; }
}/* End custom CSS */