html{scroll-behavior:smooth}.elementor-invisible{visibility:visible!important}.elementor-animation-shrink:hover{transform:scale(.98)}
[data-contact-value="address"]{white-space:pre-line}[data-contact-value="email"]{overflow-wrap:anywhere}
.hfe-menu-toggle .fa:before{content:'\f107';font-family:'Font Awesome 5 Free';font-weight:900}
.hfe-flyout-wrapper.replica-menu-open .hfe-flyout-right{right:0!important;display:block!important}.hfe-flyout-wrapper.replica-menu-open .hfe-flyout-overlay{display:block!important;visibility:visible!important;opacity:1!important}.hfe-flyout-wrapper.replica-menu-open{position:fixed;inset:0;z-index:10000}
.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu,.menu-item-has-children.open>.sub-menu{visibility:visible!important;opacity:1!important;display:block!important;height:auto!important}
.empty-map{height:360px;background:#f3f3f3;border:1px solid #eee}
.contact-note{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#192d40;color:white;padding:12px 22px;border-radius:8px;z-index:100000;font:15px/1.5 Arial;box-shadow:0 4px 20px #0003}
.replica-chat{position:fixed;bottom:26px;right:29px;display:flex;flex-direction:column;gap:8px;z-index:9999}.replica-chat button{width:55px;height:55px;border-radius:50%;padding:12px;border:0;background:#00dc8b;color:#fff;cursor:pointer;display:grid;place-items:center}.replica-chat button:nth-child(2){background:#39e859}.replica-chat .chat-toggle{background:#ab7dc1;font:42px/1 Arial;padding:0}.replica-chat svg{width:33px;height:33px;fill:currentColor}.replica-chat.collapsed .contact-action{display:none}
.swiper-wrapper.replica-track{display:flex;transition:transform .45s ease}.replica-track .swiper-slide{flex-shrink:0}.replica-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}.replica-dots button{border:0;padding:0;width:8px;height:8px;border-radius:50%;background:#bbb;cursor:pointer}.replica-dots button.active{background:#000}
.elementor-tab-content[hidden]{display:none!important}.hfe-nav-menu__toggle{cursor:pointer}
@media(max-width:767px){.replica-chat{right:16px;bottom:20px}.replica-chat button{width:48px;height:48px}.hfe-nav-menu__layout-horizontal.replica-menu-open{display:block!important;position:absolute;top:100%;left:0;right:0;background:#fff;z-index:9000}.replica-menu-open .hfe-nav-menu{display:block!important}.replica-menu-open li{display:block!important}.replica-menu-open .sub-menu{position:static!important;width:100%!important}.hfe-flyout-wrapper.replica-menu-open{display:block!important;visibility:visible!important;opacity:1!important}.replica-menu-open .hfe-flyout-content{transform:none!important;right:0!important;left:auto!important}.hfe-flyout-overlay.replica-menu-open{display:block!important}.contact-note{width:90%;text-align:center}}

.hh-map-empty{height:400px;background:#f3f3f3}#services{scroll-margin-top:24px}

.handyman-chat .chat-toggle{background:#ff6565;width:70px;height:70px;padding:15px;font-size:42px}.handyman-chat .chat-toggle svg{width:40px;height:40px;fill:white}.handyman-chat-label{position:absolute;right:80px;bottom:20px;white-space:nowrap;background:white;color:#555;padding:6px 12px;border-radius:12px;font:16px/1.2 Arial;box-shadow:0 0 8px #0001}.handyman-chat-label[hidden]{display:none}.handyman-chat-label:after{content:'';position:absolute;right:-6px;top:12px;border-left:7px solid white;border-top:5px solid transparent;border-bottom:5px solid transparent}

.care-card .care-main-photo{width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important}.care-card .elementor-widget-text-editor{flex:1}.care-assessment-label{font-size:15px}.care-extra-service{margin-top:30px}.elementor-widget-reviews .elementor-testimonial__rating{display:none}nav .sub-menu{min-width:260px}

.care-card .care-main-photo{width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important}.care-card .elementor-widget-text-editor{flex:1}.care-assessment-label{font-size:15px}.care-extra-service{margin-top:30px}.elementor-widget-reviews .elementor-testimonial__rating{display:none}nav .sub-menu{min-width:260px}

/* Keep the former rating position readable as an enquiry label. */
.elementor-element-1f3bf1a .care-assessment-label {color:#fff;font-weight:600;}
.elementor-element-4c7f925a.elementor-widget-rating {display:none!important;}


/* Dedicated service detail pages; site header and footer retain the existing template. */
.care-detail{--care-navy:#272b50;--care-blue:#315b77;--care-green:#57ca70;color:#172b43;font-family:inherit;line-height:1.65;background:#fff}
.care-detail *{box-sizing:border-box}.care-detail h1,.care-detail h2,.care-detail h3{font-family:inherit;color:inherit;line-height:1.2;font-weight:700;margin:0 0 18px}
.care-detail h1{font-size:clamp(32px,4vw,54px)}.care-detail h2{font-size:clamp(27px,3vw,38px)}.care-detail h3{font-size:22px}.care-detail p{margin:0 0 22px;font-size:17px}
.care-detail .detail-wrap{max-width:1180px;margin:auto;padding:0 30px}.detail-hero{background:var(--care-navy);color:white;padding:35px 0 72px}.detail-breadcrumb{font-size:14px;margin-bottom:32px!important;color:#cbd8e6}.detail-breadcrumb a{color:white;text-decoration:underline;text-underline-offset:4px}
.detail-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;align-items:center}.detail-eyebrow{color:#97e1a8;text-transform:uppercase;font-size:13px!important;letter-spacing:.1em;font-weight:600;margin-bottom:16px!important}
.detail-hero .detail-intro{color:#e4eaf1}.detail-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}.detail-caption{font-size:12px!important;color:#cbd8e6;margin:12px 0 0!important}
.detail-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.care-detail .detail-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;border-radius:28px;color:#102b25;background:var(--care-green);font-weight:600;font-size:16px;text-decoration:none}.care-detail .detail-btn.secondary{background:transparent;color:white;border:1px solid #c4d2de}.care-detail a:focus-visible,.care-detail summary:focus-visible{outline:3px solid #ffbf47;outline-offset:4px}
.detail-section{padding:76px 0}.detail-lead{max-width:770px;color:#526176}.detail-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.detail-scope-card{border:1px solid #dce4ea;border-radius:9px;padding:28px 25px;background:#fff}.detail-scope-card h3{font-size:21px}.detail-scope-card p{color:#526176;font-size:16px;margin:0}.detail-number{display:inline-flex;width:39px;height:39px;align-items:center;justify-content:center;border-radius:50%;background:#e8f8ed;color:#225b3b;font-weight:700;margin-bottom:22px}
.detail-soft{background:#f4f7f9}.detail-two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.detail-steps{list-style:none;padding:0;margin:0}.detail-steps li{display:flex;gap:19px;margin-bottom:26px}.detail-steps .detail-number{flex:none}.detail-steps h3{font-size:20px;margin:0 0 8px}.detail-steps p{font-size:16px;color:#526176;margin:0}.detail-prep{background:#fff;border:1px solid #dce4ea;border-radius:9px;padding:30px}.detail-prep h3{font-size:25px}.detail-prep p{color:#526176}.detail-prep .detail-note{font-size:14px;border-top:1px solid #dce4ea;padding-top:18px;margin-bottom:0}
.detail-faqs{max-width:920px}.detail-faqs details{border-bottom:1px solid #dce4ea;padding:21px 0}.detail-faqs summary{cursor:pointer;font-weight:600;font-size:19px;line-height:1.4;color:#1a354d}.detail-faqs p{margin:16px 0 3px;color:#526176;font-size:16px}
.detail-cta{background:var(--care-blue);color:white;padding:60px 0}.detail-cta-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}.detail-cta h2{font-size:32px}.detail-cta p{margin:0;color:#e3edf3}.detail-cta .detail-buttons{justify-content:flex-end;margin:0}
@media(max-width:900px){.detail-hero-grid{gap:30px}.detail-scope-grid{grid-template-columns:1fr}.detail-two-col{gap:35px}.detail-cta-grid{grid-template-columns:1fr}.detail-cta .detail-buttons{justify-content:flex-start}}
@media(max-width:640px){.care-detail .detail-wrap{padding:0 22px}.detail-hero{padding:26px 0 45px}.detail-hero-grid,.detail-two-col{grid-template-columns:1fr}.detail-hero-grid{gap:35px}.detail-section{padding:48px 0}.detail-breadcrumb{margin-bottom:25px!important}.detail-scope-grid{gap:16px}.detail-scope-card{padding:25px}.detail-prep{padding:25px}.detail-cta{padding:44px 0}.detail-cta h2{font-size:28px}.detail-buttons{gap:10px}.care-detail .detail-btn{padding:12px 19px}}

/* Company name and supporting line in the site header. */
header .elementor-widget-site-logo{width:100%!important}
header .hfe-site-logo-container{width:100%!important}
header .tianyi-brand{display:flex;align-items:center;gap:13px;text-align:left;max-width:460px}
header .tianyi-brand-mark{width:58px!important;height:58px!important;max-width:58px!important;flex:0 0 58px;object-fit:contain}
header .tianyi-brand-copy{display:block;min-width:0}
header .tianyi-company{display:block;color:#193c54;font-family:Arial,sans-serif;font-size:25px;font-weight:700;line-height:1.18;letter-spacing:0;white-space:normal}
header .tianyi-tagline{display:block;color:#315572;font-family:Arial,sans-serif;font-size:12.5px;font-weight:400;line-height:1.4;letter-spacing:0;margin-top:5px;white-space:normal}
@media(min-width:1025px){
 header .elementor-top-section:has(.hfe-site-logo)>.elementor-container>.elementor-column:nth-child(1){width:44%!important}
 header .elementor-top-section:has(.hfe-site-logo)>.elementor-container>.elementor-column:nth-child(2){width:40%!important}
 header .elementor-top-section:has(.hfe-site-logo)>.elementor-container>.elementor-column:nth-child(3){width:16%!important}
}
@media(max-width:1024px){
 header .elementor-top-section:has(.hfe-site-logo)>.elementor-container>.elementor-column:first-child{width:85%!important}
 header .elementor-top-section:has(.hfe-site-logo)>.elementor-container>.elementor-column:last-child{width:15%!important}
 header .tianyi-company{font-size:20px}
 header .tianyi-tagline{font-size:11px}
 header .tianyi-brand{gap:10px}
 header .tianyi-brand-mark{width:48px!important;height:48px!important;max-width:48px!important;flex-basis:48px}
}

/* Homepage introduction highlights the requested service areas. */
.hero-services-intro{color:#fff;text-align:left}
.hero-services-intro>p{margin:0 0 18px!important;font-size:17px;line-height:1.6}
.hero-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px;margin:0!important;padding:0!important;list-style:none!important}
.hero-service-list li{position:relative;padding:0 0 0 21px;color:#fff;font-size:16px;font-weight:600;line-height:1.45;margin:0;list-style:none}
.hero-service-list li::before{content:"✓";position:absolute;left:0;top:0;color:#a2eab2;font-size:16px}
@media(max-width:600px){.hero-service-list{grid-template-columns:1fr;gap:8px}.hero-service-list li{font-size:15px}.hero-services-intro>p{font-size:16px}}

/* Three-level brand signature. */
header .tianyi-company{font-size:22px}
header .tianyi-services{display:block;color:#315572;font-family:Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.4;margin-top:5px;letter-spacing:0}
header .tianyi-tagline{font-size:12px;margin-top:4px}
@media(max-width:1024px){header .tianyi-company{font-size:20px}header .tianyi-services{font-size:12px}header .tianyi-tagline{font-size:11px}}
@media(max-width:480px){header .tianyi-company{font-size:17px}header .tianyi-services{font-size:11px}header .tianyi-tagline{font-size:10px}}

/* Updated homepage introduction and reasons to choose TIANYI. */
.tianyi-home-hero .hero-services-intro>p{margin-bottom:14px!important;font-size:16px;line-height:1.6}
.tianyi-home-hero .hero-services-intro>.hero-subtitle{font-size:20px;font-weight:600;line-height:1.45}
.tianyi-home-hero .hero-service-list{margin-top:22px!important}
.hero-why{color:#fff;text-align:left;width:100%}
.hero-why h3{color:#fff;font-size:18px;font-weight:700;margin:0 0 12px}
.hero-why ul{margin:0 0 14px;padding:0;list-style:none}
.hero-why li{font-size:16px;line-height:1.6;margin:5px 0;padding-left:22px;position:relative}
.hero-why li:before{content:"✓";color:#a2eab2;position:absolute;left:0}
.hero-why p{font-size:15px;line-height:1.6;margin:0;max-width:650px}
@media(max-width:600px){.tianyi-home-hero .hero-services-intro>.hero-subtitle{font-size:18px}}

/* Compact homepage with contact actions beside the introduction. */
.tianyi-home-hero{padding:48px 30px!important;min-height:0!important}
.tianyi-home-hero>[data-id="2fbf3ee4"]{display:grid!important;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:18px 42px;width:100%!important;max-width:1220px;margin:0 auto!important;padding:0!important}
.tianyi-home-hero [data-id="4e685201"],.tianyi-home-hero [data-id="2a8e83e0"]{grid-column:1/-1;width:100%!important;margin:0!important}
.tianyi-home-hero [data-id="2a8e83e0"] h2{font-size:clamp(22px,2.8vw,40px)!important;line-height:1.2!important;white-space:nowrap}
.tianyi-home-hero [data-id="21ce5fee"]{width:100%!important;margin:0!important}
.tianyi-home-hero .hero-services-intro>p{font-size:15px;margin-bottom:10px!important;line-height:1.5}
.tianyi-home-hero .hero-services-intro>.hero-subtitle{font-size:18px}
.tianyi-home-hero .hero-service-list{margin-top:16px!important;gap:8px 20px}
.tianyi-home-hero .hero-service-list li{font-size:15px;line-height:1.4}
.hero-contact-panel{display:flex;flex-direction:column;gap:28px;align-self:center;min-width:0}
.tianyi-home-hero .hero-contact-panel [data-id="2af1c0c8"]{display:flex!important;flex-flow:row wrap!important;gap:12px!important;padding:0!important;margin:0!important;width:100%!important}
.tianyi-home-hero .hero-contact-panel [data-id="2af1c0c8"]>.elementor-widget{width:auto!important;margin:0!important}
.tianyi-home-hero .hero-contact-panel .elementor-button{padding:15px 21px!important;font-size:15px!important;white-space:nowrap}
.tianyi-home-hero .hero-contact-panel [data-id="42172ac7"]{padding:0!important;margin:0!important;width:100%!important}
@media(max-width:900px){.tianyi-home-hero{padding:35px 24px!important}.tianyi-home-hero>[data-id="2fbf3ee4"]{grid-template-columns:1fr;gap:20px}.tianyi-home-hero [data-id="2a8e83e0"] h2{white-space:normal;font-size:32px!important}.hero-contact-panel{gap:20px}.hero-why ul{display:flex;flex-wrap:wrap;gap:8px 20px}.hero-why li{margin:0}}
@media(max-width:600px){.tianyi-home-hero [data-id="2a8e83e0"] h2{font-size:28px!important}.tianyi-home-hero .hero-service-list{grid-template-columns:1fr}}

/* Give the homepage introduction the available first-screen height. */
@media(min-width:901px){
.tianyi-home-hero{min-height:calc(100svh - var(--tianyi-header-height,168px))!important;justify-content:center!important;padding:52px 30px!important;box-sizing:border-box}
.tianyi-home-hero>[data-id="2fbf3ee4"]{row-gap:26px;align-content:center}
.tianyi-home-hero .hero-services-intro>p{font-size:16px;line-height:1.6;margin-bottom:14px!important}
.tianyi-home-hero .hero-service-list{gap:12px 22px;margin-top:22px!important}
.tianyi-home-hero .hero-service-list li{font-size:16px;line-height:1.45}
.hero-contact-panel{gap:34px}
}

.hero-contact-panel .hero-whatsapp-note{color:#fff;font-size:15px;line-height:1.5;margin:-20px 0 0!important;width:100%;text-align:left}
@media(max-width:900px){.hero-contact-panel .hero-whatsapp-note{margin:-8px 0 0!important}}

.tianyi-home-hero{background-image:url("site-media/home-stone-restoration.png")!important;background-position:center center!important;background-size:cover!important}

.care-card-scope{padding-left:20px;margin:10px 0 20px;font-size:15px;line-height:1.55}.care-card h4{font-size:17px;margin:18px 0 8px}.service-scope-slide h3{font-size:19px}.service-scope-slide ul{padding-left:22px}.service-scope-slide a{color:inherit}

.priority-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.priority-gallery figure{margin:0}.priority-gallery .detail-image{aspect-ratio:3/2}.priority-gallery figcaption{padding:18px 0}.priority-gallery figcaption h3{font-size:20px;margin:0 0 8px}.priority-gallery figcaption p{font-size:14px;color:#526176;margin:0}.priority-service .detail-prep .detail-btn.secondary{color:#315b77;border-color:#315b77}.priority-service .detail-hero .detail-image{aspect-ratio:4/3}@media(max-width:640px){.priority-gallery{grid-template-columns:1fr}}

/* Commercial property page */
.commercial-service .detail-hero h1{font-size:clamp(32px,3.3vw,48px);overflow-wrap:break-word}
.commercial-enquiry{padding:34px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.24);border-radius:16px;align-self:center}
.commercial-enquiry h2{color:#fff;font-size:30px;line-height:1.25;margin:16px 0}.commercial-enquiry p,.commercial-enquiry li{color:#fff;line-height:1.7}.commercial-enquiry ul{padding-left:22px}.commercial-enquiry li{margin:12px 0}.commercial-related{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:28px}.commercial-related a{color:#204e6d;text-decoration:underline;font-weight:600}
@media(max-width:640px){.commercial-enquiry{padding:24px}.commercial-enquiry h2{font-size:25px}.commercial-service .detail-buttons{align-items:stretch}.commercial-service .detail-btn{text-align:center;white-space:normal}}

/* Compact mobile identity with space for the menu and a short introduction. */
.tianyi-mobile-company,.tianyi-mobile-tagline,.home-mobile-title,.home-mobile-summary,.home-mobile-projects{display:none}
@media(max-width:767px){
 #masthead .elementor-element-fcda080{padding:16px 18px!important}
 #masthead .elementor-element-fcda080>.elementor-container{display:flex;flex-wrap:nowrap;align-items:center;gap:12px}
 #masthead .elementor-element-fcda080>.elementor-container>.elementor-column:first-child{width:auto!important;flex:1;min-width:0}
 #masthead .elementor-element-fcda080>.elementor-container>.elementor-column:last-child{width:44px!important;flex:0 0 44px}
 #masthead .elementor-element-fcda080 .elementor-widget-wrap{padding:0!important;align-content:center}
 #masthead .elementor-widget-site-logo>.elementor-widget-container,#masthead .elementor-widget-navigation-menu>.elementor-widget-container{margin:0!important;padding:0!important}
 #masthead .tianyi-company,#masthead .tianyi-services,#masthead .tianyi-tagline{display:none}
 #masthead .tianyi-brand{gap:10px;max-width:none}
 #masthead .tianyi-brand-mark{width:42px!important;height:42px!important;max-width:42px!important;flex-basis:42px}
 #masthead .tianyi-mobile-company{display:block;font:700 16px/1.25 Arial,sans-serif;color:#193c54;letter-spacing:0}
 #masthead .tianyi-mobile-tagline{display:block;font:400 12px/1.4 Arial,sans-serif;color:#526575;margin-top:5px}
 #masthead .hfe-nav-menu__toggle{width:42px!important;min-height:42px;margin:0!important}
 .tianyi-home-hero{padding:28px 20px!important;min-height:0!important}
 .tianyi-home-hero>[data-id="2fbf3ee4"]{gap:18px!important}
 .tianyi-home-hero [data-id="4e685201"],.tianyi-home-hero [data-id="21ce5fee"],.tianyi-home-hero [data-id="42172ac7"],.tianyi-home-hero .hero-whatsapp-note,.home-desktop-title{display:none!important}
 .home-mobile-title{display:inline}
 .tianyi-home-hero [data-id="2a8e83e0"] h2{font-size:29px!important;line-height:1.2!important;margin:0!important}
 .home-mobile-summary{display:block;color:#fff;font-size:15px;line-height:1.55;margin:12px 0 0}
 .tianyi-home-hero .hero-contact-panel{gap:0}
 .tianyi-home-hero .hero-contact-panel [data-id="2af1c0c8"]{gap:10px!important}
 .tianyi-home-hero .hero-contact-panel .elementor-button{font-size:14px!important;padding:13px 16px!important}
 .elementor-39>.elementor-element-eca8b02,.elementor-39>.elementor-element-78c03baa{display:none!important}
}

@media(max-width:767px){#masthead .elementor-widget-site-logo{width:100%!important;max-width:100%!important}}
