.ty-site-body{margin:0;background:#fff}.ty-header{position:relative;z-index:1000}.ty-topbar{background:var(--ty-primary);color:#dfe7ef;font-size:.72rem}.ty-topbar-inner{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:20px}.ty-topbar-message{color:#fff}.ty-topbar-links{display:flex;gap:18px;align-items:center}.ty-topbar-links a:hover{color:var(--ty-accent-light)}.ty-nav-wrap{background:rgba(255,255,255,.98);border-bottom:1px solid #edf0f3}.ty-header.is-sticky .ty-nav-wrap{position:fixed;top:0;left:0;right:0;box-shadow:0 8px 24px rgba(7,30,53,.08)}.ty-nav-inner{display:flex;align-items:center;min-height:74px;gap:28px}.ty-logo{flex:0 0 190px}.ty-logo img{max-height:56px;width:auto}.ty-logo-fallback{display:flex;align-items:center;gap:10px;color:var(--ty-primary)}.ty-logo-icon{font-size:2rem;color:var(--ty-accent)}.ty-logo-fallback strong{display:block;font-size:1.5rem;line-height:1}.ty-logo-fallback small{font-size:.6rem;color:var(--ty-accent);font-weight:700}.ty-primary-nav{margin-left:auto}.ty-menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.ty-menu li{position:relative}.ty-menu>li>a{display:flex;align-items:center;min-height:74px;font-size:.75rem;font-weight:800;text-transform:uppercase;color:var(--ty-primary);white-space:nowrap}.ty-menu>li.current-menu-item>a,.ty-menu>li>a:hover{color:var(--ty-accent)}.ty-menu .sub-menu{position:absolute;top:100%;left:-16px;min-width:220px;background:#fff;border:1px solid var(--ty-border);border-radius:0 0 10px 10px;box-shadow:var(--ty-shadow);list-style:none;margin:0;padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.ty-menu li:hover>.sub-menu,.ty-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.ty-menu .sub-menu a{display:block;padding:9px 10px;border-radius:6px;font-size:.82rem}.ty-menu .sub-menu a:hover{background:var(--ty-bg-soft);color:var(--ty-accent)}.ty-header-cta{white-space:nowrap}.ty-menu-toggle{display:none;border:0;background:none;padding:8px}.ty-menu-toggle span:not(.screen-reader-text){display:block;width:26px;height:2px;background:var(--ty-primary);margin:5px 0}
.ty-hero{position:relative;height:clamp(560px,64vw,760px);min-height:560px;overflow:hidden;background:var(--ty-primary)}.ty-slider-track,.ty-slide{position:absolute;inset:0}.ty-slide{opacity:0;transition:opacity .65s ease}.ty-slide.is-active{opacity:1}.ty-slide img{width:100%;height:100%;object-fit:cover;object-position:center}.ty-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,250,252,.96) 0%,rgba(247,250,252,.85) 32%,rgba(247,250,252,.28) 57%,rgba(7,30,53,.08) 100%)}.ty-hero-content{position:relative;height:100%;display:flex;align-items:center;z-index:3}.ty-hero-copy{max-width:540px;margin-top:-28px}.ty-hero-copy h1,.ty-hero-copy h2{font-size:clamp(2.6rem,5.6vw,4.8rem);line-height:.98;letter-spacing:-.045em;margin:.15rem 0 1.1rem;color:var(--ty-primary);text-transform:uppercase}.ty-hero-copy h1::first-line{color:var(--ty-primary)}.ty-hero-copy p{max-width:520px;font-size:1rem;color:#3f5264;margin-bottom:1.4rem}.ty-actions{display:flex;gap:10px;flex-wrap:wrap}.ty-hero .ty-btn-outline{color:var(--ty-primary);border-color:#aebbc7;background:rgba(255,255,255,.35)}.ty-mini-trust{display:flex;gap:20px;margin-top:24px;flex-wrap:wrap;font-size:.72rem;font-weight:700;color:#42556a}.ty-mini-trust span::first-letter{color:var(--ty-accent)}.ty-slider-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid rgba(7,30,53,.2);border-radius:50%;background:rgba(255,255,255,.85);color:var(--ty-primary);font-size:2rem;line-height:1;cursor:pointer}.ty-prev{left:20px}.ty-next{right:20px}.ty-slider-dots{position:absolute;z-index:4;left:50%;bottom:18px;display:flex;gap:7px;transform:translateX(-50%)}.ty-slider-dots button{width:7px;height:7px;border:0;border-radius:99px;background:rgba(7,30,53,.35);padding:0}.ty-slider-dots button.is-active{width:24px;background:var(--ty-accent)}
.ty-benefits{position:relative;z-index:6;margin-top:-28px}.ty-benefit-grid{background:#fff;border:1px solid var(--ty-border);box-shadow:var(--ty-shadow);border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr);padding:20px}.ty-benefit{display:flex;align-items:center;gap:13px;padding:8px 18px;border-right:1px solid var(--ty-border)}.ty-benefit:last-child{border-right:0}.ty-benefit-icon{font-size:1.8rem;color:var(--ty-accent)}.ty-benefit h2{font-size:.78rem;text-transform:uppercase;margin:0 0 2px;color:var(--ty-primary)}.ty-benefit p{font-size:.7rem;margin:0;color:var(--ty-muted)}
.ty-service-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.ty-service-card .ty-card-body{padding:13px}.ty-service-card .ty-card-body h3{font-size:.82rem}.ty-service-card .ty-card-body p{font-size:.7rem}.ty-service-card .ty-text-link{font-size:.66rem}
.ty-quote-section{background:radial-gradient(circle at 65% 20%,#123b63 0,var(--ty-primary) 55%,#051728 100%);color:#fff;padding:54px 0}.ty-quote-grid{display:grid;grid-template-columns:1fr 1.35fr .75fr;gap:34px;align-items:center}.ty-quote-copy h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.1;margin:.15rem 0 .7rem}.ty-quote-copy p{color:#cad7e4;font-size:.9rem}.ty-quote-copy ul{list-style:none;padding:0;margin:18px 0 0}.ty-quote-copy li{margin:8px 0;font-size:.82rem}.ty-quote-copy li::before{content:'◉';color:var(--ty-accent);margin-right:8px}.ty-quote-form-wrap{background:#fff;color:var(--ty-text);border-radius:8px;padding:22px}.ty-quote-form-wrap h3{margin:0 0 14px;color:var(--ty-primary)}.ty-quote-form{display:grid;gap:10px}.ty-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ty-quote-form input,.ty-quote-form select,.ty-quote-form textarea,.ty-newsletter input,.ty-search-form input{width:100%;border:1px solid #dce2e8;border-radius:5px;padding:11px 12px;font:inherit;background:#fff}.ty-quote-form textarea{min-height:90px;resize:vertical}.ty-check{font-size:.7rem;color:var(--ty-muted);display:flex;gap:7px;align-items:flex-start}.ty-check input{width:auto;margin-top:4px}.ty-stats{display:grid;gap:20px}.ty-stat{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.ty-stat strong{font-size:1.65rem;color:#fff}.ty-stat span{font-size:.8rem;color:#d5e1ec}
.ty-project-filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:22px}.ty-project-filters button{border:1px solid var(--ty-border);background:#fff;border-radius:5px;padding:7px 14px;font:inherit;font-size:.72rem;color:var(--ty-muted);cursor:pointer}.ty-project-filters button.is-active{background:var(--ty-accent);color:#fff;border-color:var(--ty-accent)}.ty-project-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.ty-project-card{position:relative;overflow:hidden;border-radius:5px;aspect-ratio:1.28/1;background:#ddd}.ty-project-card img{width:100%;height:100%;object-fit:cover;transition:.4s}.ty-project-card:hover img{transform:scale(1.05)}.ty-project-overlay{position:absolute;inset:auto 0 0;padding:28px 13px 12px;color:#fff;background:linear-gradient(transparent,rgba(7,30,53,.86));opacity:0;transition:.25s}.ty-project-card:hover .ty-project-overlay{opacity:1}.ty-project-overlay strong,.ty-project-overlay small{display:block}.ty-project-card.is-hidden{display:none}
.ty-seo-content{background:var(--ty-bg-soft)}.ty-prose-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.ty-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.ty-faq-grid>div:first-child h2{font-size:2.15rem;line-height:1.15;margin:.2rem 0 .8rem;color:var(--ty-primary)}.ty-faq-grid>div:first-child p{color:var(--ty-muted)}.ty-acc-item{border-bottom:1px solid var(--ty-border)}.ty-acc-item h3{margin:0}.ty-acc-item button{width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;text-align:left;padding:17px 0;border:0;background:none;color:var(--ty-primary);font:inherit;font-weight:700;cursor:pointer}.ty-acc-item button span{color:var(--ty-accent);font-size:1.3rem}.ty-acc-panel p{margin:0 0 16px;color:var(--ty-muted);font-size:.9rem}
.ty-blog-layout{display:grid;grid-template-columns:1fr 300px;gap:26px}.ty-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ty-blog-card small{font-size:.65rem;color:var(--ty-muted)}.ty-newsletter{background:var(--ty-primary);color:#fff;border-radius:8px;padding:24px}.ty-newsletter h3{font-size:1.25rem;margin:0 0 8px}.ty-newsletter p{font-size:.8rem;color:#d5e1ec}.ty-newsletter form{display:grid;gap:8px}.ty-newsletter ul{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.68rem}.ty-newsletter li::before{content:'◉';color:var(--ty-accent);margin-right:6px}.ty-brands{padding:35px 0 45px;text-align:center;border-top:1px solid var(--ty-border)}.ty-brand-row{display:grid;grid-template-columns:repeat(6,1fr);gap:30px;align-items:center;margin-top:20px;color:#253443;opacity:.82}.ty-brand-row strong{font-family:Georgia,serif;font-size:1.05rem}.ty-final-cta{padding:42px 0;background:#0b2948;color:#fff}.ty-final-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.ty-final-cta h2{font-size:clamp(1.6rem,3vw,2.3rem);max-width:760px;line-height:1.2;margin:.1rem 0}.ty-final-cta p{color:#cbd7e2}
.ty-footer{background:#06192b;color:#cbd6e1}.ty-footer-benefits{border-bottom:1px solid rgba(255,255,255,.08)}.ty-footer-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 0;color:#fff;font-size:.78rem;font-weight:700}.ty-footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:38px;padding:45px 0 36px}.ty-footer h2{color:#fff;font-size:.82rem;text-transform:uppercase;margin:0 0 15px}.ty-footer p,.ty-footer li,.ty-footer a{font-size:.72rem;color:#aebdcc}.ty-footer ul{list-style:none;padding:0;margin:0}.ty-footer li{margin:8px 0}.ty-footer a:hover{color:var(--ty-accent-light)}.ty-footer-logo{color:#fff;font-size:1.4rem}.ty-footer-brand p{max-width:300px}.ty-socials{display:flex;gap:8px}.ty-socials a{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center}.ty-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;display:flex;justify-content:space-between;gap:20px;font-size:.68rem}.ty-footer-bottom div{display:flex;gap:16px}.ty-contact-rail{position:fixed;right:18px;bottom:22px;z-index:1200;display:grid;gap:8px}.ty-contact-rail a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ty-primary);box-shadow:0 8px 20px rgba(7,30,53,.2);font-size:.8rem;font-weight:900}.ty-contact-rail .ty-wa{background:#1fb85d;color:#fff}
.ty-page-hero{padding:56px 0 50px;background:linear-gradient(135deg,#071e35,#0c3359);color:#fff}.ty-page-hero h1{font-size:clamp(2rem,4.2vw,3.7rem);line-height:1.08;margin:.35rem 0 0}.ty-page-hero p{color:#d0dce7;max-width:760px}.ty-breadcrumb ol{display:flex;gap:9px;list-style:none;padding:0;margin:0 0 10px;font-size:.72rem;color:#cad5e0}.ty-breadcrumb li+li::before{content:'›';margin-right:9px;color:var(--ty-accent)}.ty-breadcrumb a:hover{color:var(--ty-accent-light)}.ty-content-layout,.ty-article-layout{display:grid;grid-template-columns:1fr 300px;gap:40px}.ty-post-list{display:grid;gap:18px}.ty-list-card{display:grid;grid-template-columns:260px 1fr;border:1px solid var(--ty-border);border-radius:10px;overflow:hidden;background:#fff}.ty-list-media{min-height:190px}.ty-list-media img{width:100%;height:100%;object-fit:cover}.ty-list-body{padding:20px}.ty-list-type{font-size:.65rem;font-weight:800;color:var(--ty-accent)}.ty-list-body h2{font-size:1.3rem;margin:.2rem 0 .5rem}.ty-list-body p{color:var(--ty-muted);font-size:.88rem}.ty-sidebar-widget{border:1px solid var(--ty-border);border-radius:10px;padding:18px;margin-bottom:16px}.ty-sidebar-title{font-size:1rem;margin-top:0}.ty-featured{border-radius:12px;width:100%;margin-bottom:22px}.ty-search-form{display:flex;gap:8px;max-width:560px}.ty-search-form label{flex:1}.ty-search-form button{border:0;background:var(--ty-accent);color:#fff;border-radius:5px;padding:0 18px;font-weight:700}.ty-404{padding:110px 0;text-align:center}.ty-404-code{display:block;font-size:7rem;line-height:1;font-weight:900;color:rgba(201,150,43,.2)}.ty-404 h1{font-size:2.5rem;color:var(--ty-primary)}.ty-404 p{max-width:620px;margin:0 auto 20px;color:var(--ty-muted)}.ty-404 .ty-search-form{margin:0 auto 20px}.ty-404 .ty-actions{justify-content:center}.ty-archive-grid{grid-template-columns:repeat(3,1fr)}.ty-product-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:start}.ty-product-main img{border-radius:12px;width:100%;aspect-ratio:3/2;object-fit:cover}.ty-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}.ty-gallery-thumbs img{border-radius:6px}.ty-product-summary h2{font-size:2rem;line-height:1.2;color:var(--ty-primary)}.ty-check-list{list-style:none;padding:0}.ty-check-list li{margin:8px 0}.ty-check-list li::before{content:'✓';color:var(--ty-accent);font-weight:900;margin-right:8px}.ty-project-detail{display:grid;grid-template-columns:1fr 320px;gap:30px;align-items:start}.ty-project-cover img{border-radius:12px;width:100%}.ty-project-meta{border:1px solid var(--ty-border);border-radius:12px;padding:22px;box-shadow:var(--ty-shadow)}.ty-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.ty-gallery-grid img{border-radius:8px}.ty-contact-grid{display:grid;grid-template-columns:320px 1fr;gap:40px}.ty-contact-cards{display:grid;gap:12px}.ty-contact-cards>div{display:grid;border:1px solid var(--ty-border);border-radius:10px;padding:16px}.ty-contact-cards strong{font-size:.72rem;color:var(--ty-accent);text-transform:uppercase}.ty-contact-cards span,.ty-contact-cards a{font-size:.9rem}.ty-contact-form .ty-quote-section{background:none;padding:0;color:inherit}.ty-contact-form .ty-quote-grid{display:block}.ty-contact-form .ty-quote-copy,.ty-contact-form .ty-stats{display:none}.ty-contact-form .ty-shell{width:100%}.ty-full-width{width:100%}
/* v1.2 catalog and inner-page system */
.ty-inner-visual{position:relative;overflow:hidden;padding:58px 0;background:linear-gradient(110deg,rgba(7,30,53,.98),rgba(11,41,72,.93)),url('../images/demo-1.webp') center/cover no-repeat}.ty-inner-visual:after{content:"";position:absolute;right:-120px;top:-180px;width:440px;height:440px;border:1px solid rgba(201,150,43,.24);border-radius:50%}.ty-inner-visual .ty-shell{position:relative;z-index:1}.ty-catalog-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:start}.ty-catalog-sidebar{display:grid;gap:18px;position:sticky;top:100px}.ty-sidebar-panel,.ty-sidebar-cta{border:1px solid var(--ty-border);border-radius:10px;background:#fff;overflow:hidden}.ty-sidebar-panel h2{margin:0;padding:16px 18px;background:var(--ty-primary);color:#fff;font-size:.9rem;text-transform:uppercase}.ty-sidebar-panel a{display:block;padding:11px 18px;border-bottom:1px solid var(--ty-border);font-size:.76rem;color:var(--ty-text)}.ty-sidebar-panel a:hover,.ty-sidebar-panel a.is-active{color:var(--ty-accent);background:#fbfaf7;padding-left:22px}.ty-sidebar-cta{background:linear-gradient(145deg,#071e35,#0b2948);color:#fff;padding:20px}.ty-sidebar-cta h3{font-size:1.1rem;line-height:1.25;margin:.35rem 0 .55rem}.ty-sidebar-cta p{color:#cbd7e2;font-size:.75rem}.ty-sidebar-cta .ty-btn{width:100%;justify-content:center;margin-top:8px}.ty-product-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--ty-border)}.ty-product-toolbar strong,.ty-product-toolbar span{display:block}.ty-product-toolbar strong{color:var(--ty-primary);font-size:1.05rem}.ty-product-toolbar span{color:var(--ty-muted);font-size:.72rem;margin-top:3px}.ty-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ty-card-kicker{display:block;color:var(--ty-accent);font-size:.6rem;font-weight:800;letter-spacing:.08em;margin-bottom:5px}.ty-product-card .ty-card-media,.ty-service-archive-card .ty-card-media{aspect-ratio:1.45/1}.ty-product-card .ty-card-media img,.ty-service-archive-card .ty-card-media img{width:100%;height:100%;object-fit:cover}.ty-product-card:hover,.ty-service-archive-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(7,30,53,.12)}.ty-project-archive{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ty-project-archive .ty-project-card{aspect-ratio:1.45/1}.ty-sidebar ul{list-style:none;margin:0;padding:0}.ty-sidebar li{border-bottom:1px solid var(--ty-border);padding:8px 0;font-size:.78rem}.ty-sidebar li:last-child{border-bottom:0}.ty-sidebar-search .ty-search-form{display:grid;grid-template-columns:1fr auto}.ty-sidebar-search .ty-search-form button{min-height:42px}.ty-post-list .ty-list-card{transition:transform .25s ease,box-shadow .25s ease}.ty-post-list .ty-list-card:hover{transform:translateY(-3px);box-shadow:var(--ty-shadow)}
/* v1.3 service gallery + Elementor management */
.ty-service-gallery-section{background:#fff}.ty-service-gallery{width:100%}.ty-service-gallery .ty-section-heading{max-width:760px;margin:0 auto 24px;text-align:center}.ty-gallery-featured{max-width:1100px;margin:0 auto 14px;border-radius:14px;overflow:hidden;background:var(--ty-bg-soft);box-shadow:0 12px 34px rgba(7,30,53,.08)}.ty-gallery-featured-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.ty-service-gallery-grid{display:grid;grid-template-columns:repeat(var(--ty-gallery-cols,3),minmax(0,1fr));gap:12px}.ty-gallery-item{position:relative;border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;background:#fff;cursor:pointer;aspect-ratio:1.45/1;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.ty-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}.ty-gallery-item:hover,.ty-gallery-item:focus-visible,.ty-gallery-item.is-active{border-color:var(--ty-accent);box-shadow:0 10px 24px rgba(7,30,53,.12);transform:translateY(-2px)}.ty-gallery-zoom{position:absolute;right:10px;bottom:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(7,30,53,.88);color:#fff;font-weight:700}.ty-elementor-service-content{min-height:200px}.ty-elementor-block{width:100%}.ty-elementor-grid{display:grid;grid-template-columns:repeat(var(--ty-el-cols,3),minmax(0,1fr));gap:18px}.ty-elementor-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;border-radius:14px;background:linear-gradient(135deg,var(--ty-primary),var(--ty-primary-light));color:#fff}.ty-elementor-cta h2{margin:0 0 8px;color:#fff;font-size:clamp(1.6rem,3vw,2.3rem)}.ty-elementor-cta p{margin:0;color:#cfdae4}.ty-elementor-features h2{color:var(--ty-primary)}.ty-elementor-notice{padding:16px;border:1px dashed #c9962b;background:#fffaf0;color:#5a4a26;border-radius:8px}


/* Premium footer refinements v1.4 */
.ty-theme .ty-footer{position:relative;background:linear-gradient(135deg,#06182a 0%,#081f36 55%,#06182a 100%);color:#cbd6e1}
.ty-theme .ty-footer-benefits{background:rgba(255,255,255,.018);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.08)}
.ty-theme .ty-footer-benefits-grid{min-height:68px;align-items:center;gap:20px}
.ty-theme .ty-footer-benefits-grid span{display:flex;align-items:center;gap:10px;font-size:.79rem;letter-spacing:.01em}
.ty-theme .ty-footer-benefits-grid i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(201,150,43,.14);color:var(--ty-accent-light);border:1px solid rgba(214,166,58,.3)}
.ty-theme .ty-footer-grid{padding-top:54px;padding-bottom:46px}
.ty-theme .ty-footer-grid>div:not(.ty-footer-brand){padding-top:7px}
.ty-theme .ty-footer h2{position:relative;font-size:.78rem;letter-spacing:.04em;margin-bottom:20px}
.ty-theme .ty-footer h2:after{content:"";display:block;width:30px;height:2px;margin-top:9px;border-radius:99px;background:linear-gradient(90deg,var(--ty-accent),rgba(201,150,43,0))}
.ty-theme .ty-footer p,.ty-theme .ty-footer li,.ty-theme .ty-footer a{font-size:.76rem;line-height:1.75}
.ty-theme .ty-footer li{margin:7px 0}
.ty-theme .ty-footer li a{transition:color .2s ease,transform .2s ease;display:inline-block}
.ty-theme .ty-footer li a:hover{transform:translateX(3px)}
.ty-theme .ty-footer-logo{display:inline-flex;align-items:center;justify-content:flex-start;min-height:72px;max-width:290px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 14px 32px rgba(0,0,0,.15);margin-bottom:18px;overflow:hidden}
.ty-theme .ty-footer-logo img{display:block;width:auto;height:auto;max-width:258px;max-height:68px;object-fit:contain}
.ty-theme .ty-footer-logo-fallback{color:var(--ty-primary);font-size:1.45rem;font-weight:800;line-height:1}.ty-theme .ty-footer-logo-fallback small{display:block;margin-top:7px;color:var(--ty-accent);font-size:.5rem;letter-spacing:.18em}
.ty-theme .ty-footer-brand p{max-width:315px;font-size:.78rem;line-height:1.75;color:#b9c7d4}
.ty-theme .ty-socials{margin-top:18px;gap:9px}
.ty-theme .ty-socials a{width:36px;height:36px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.ty-theme .ty-socials a:hover{background:var(--ty-accent);border-color:var(--ty-accent);transform:translateY(-2px);color:#fff}
.ty-theme .ty-socials svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.ty-theme .ty-socials svg path{fill:currentColor;stroke:none}
.ty-theme .ty-footer-bottom{padding:21px 0;color:#91a5b8;align-items:center}
.ty-theme .ty-footer-bottom a{font-size:.7rem;color:#aebdcc}
.ty-theme .ty-footer-bottom a:hover{color:#fff}
.ty-theme .ty-contact-rail{right:22px;bottom:28px;gap:10px;align-items:end}
.ty-theme .ty-contact-rail-item{position:relative;width:52px;height:52px;border:1px solid rgba(7,30,53,.08);border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.97);color:var(--ty-primary);box-shadow:0 12px 30px rgba(7,30,53,.18);transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border-color .2s ease;cursor:pointer;padding:0}
.ty-theme .ty-contact-rail-item svg{width:22px;height:22px;fill:currentColor}
.ty-theme .ty-contact-rail-item:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(7,30,53,.25);background:#fff;border-color:rgba(201,150,43,.35)}
.ty-theme .ty-contact-rail .ty-wa{background:#25d366;color:#fff;border-color:#25d366}
.ty-theme .ty-contact-rail .ty-wa:hover{background:#20bd5a;border-color:#20bd5a}
.ty-theme .ty-contact-rail-item:before{content:attr(data-label);position:absolute;right:62px;top:50%;transform:translateY(-50%) translateX(6px);padding:7px 10px;border-radius:8px;background:var(--ty-primary);color:#fff;font-size:.68rem;font-weight:600;line-height:1;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease;box-shadow:0 7px 20px rgba(0,0,0,.16)}
.ty-theme .ty-contact-rail-item:hover:before,.ty-theme .ty-contact-rail-item:focus-visible:before{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}

/* Elementor-editable service intro: same premium look without forcing Elementor globals. */
.ty-theme .ty-elementor-product-intro{width:100%}
.ty-theme .ty-elementor-product-intro.ty-product-intro-image-right .ty-product-gallery{order:2}
.ty-theme .ty-elementor-product-intro.ty-product-intro-image-right .ty-product-summary{order:1}
.ty-theme .ty-product-description p{margin:.65rem 0;color:var(--ty-text)}
.ty-theme .ty-elementor-service-content{min-width:0}
.ty-theme .ty-elementor-notice{padding:14px 16px;border:1px dashed var(--ty-accent);border-radius:8px;background:#fff8e8;color:var(--ty-primary);font-weight:600}

/* v1.8 SEO guide / pillar article */
.ty-theme .ty-single-article{background:#fff}.ty-theme .ty-guide-layout{align-items:start}.ty-theme .ty-guide-summary{margin:0 0 26px;padding:26px 28px;border:1px solid #e4e9ef;border-left:4px solid var(--ty-accent);border-radius:14px;background:linear-gradient(135deg,#fffaf0,#fff);box-shadow:0 12px 30px rgba(7,30,53,.06)}.ty-theme .ty-guide-summary h2{margin:.1rem 0 .75rem;color:var(--ty-primary);font-size:clamp(1.45rem,2.6vw,2rem)}.ty-theme .ty-guide-summary-text p{margin:.6rem 0;color:#405264}.ty-theme .ty-guide-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;list-style:none;padding:0;margin:18px 0 0}.ty-theme .ty-guide-highlights li{position:relative;padding-left:24px;font-size:.9rem;color:#30465a}.ty-theme .ty-guide-highlights li:before{content:'✓';position:absolute;left:0;top:0;color:var(--ty-accent);font-weight:900}.ty-theme .ty-guide-toc{margin:0 0 30px;border:1px solid var(--ty-border);border-radius:12px;background:var(--ty-bg-soft);overflow:hidden}.ty-theme .ty-guide-toc-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--ty-border);color:var(--ty-primary)}.ty-theme .ty-guide-toc-head button{width:32px;height:32px;border:1px solid var(--ty-border);border-radius:50%;background:#fff;color:var(--ty-primary);font:inherit;font-weight:800;cursor:pointer}.ty-theme .ty-guide-toc ol{margin:0;padding:14px 20px 16px 38px;columns:2;column-gap:34px}.ty-theme .ty-guide-toc li{break-inside:avoid;margin:7px 0;color:#56687a;font-size:.84rem}.ty-theme .ty-guide-toc li.is-sub{margin-left:12px;font-size:.8rem}.ty-theme .ty-guide-toc a:hover{color:var(--ty-accent)}.ty-theme .ty-guide-block{margin-top:52px;padding-top:8px}.ty-theme .ty-guide-block-head{max-width:760px;margin-bottom:22px}.ty-theme .ty-guide-block-head h2{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.18;margin:.15rem 0 .55rem;color:var(--ty-primary)}.ty-theme .ty-guide-block-head p{margin:0;color:var(--ty-muted)}.ty-theme .ty-guide-faq-list{border-top:1px solid var(--ty-border)}.ty-theme .ty-guide-related .ty-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ty-theme .ty-guide-cta{margin-top:54px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 36px;border-radius:16px;background:radial-gradient(circle at 80% 20%,#123b63,var(--ty-primary) 58%);color:#fff;box-shadow:0 18px 40px rgba(7,30,53,.16)}.ty-theme .ty-guide-cta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.2;margin:.1rem 0 .55rem;max-width:680px}.ty-theme .ty-guide-cta p{color:#d2deea;margin:0;max-width:700px}.ty-theme .ty-entry-content>h2{scroll-margin-top:110px;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.2;color:var(--ty-primary);margin-top:2em}.ty-theme .ty-entry-content>h3{scroll-margin-top:110px;color:var(--ty-primary);font-size:1.28rem;margin-top:1.6em}.ty-theme .ty-entry-content>ul:not(.ty-guide-highlights),.ty-theme .ty-entry-content>ol{padding-left:1.35em}.ty-theme .ty-entry-content>blockquote{margin:1.7em 0;padding:20px 24px;border-left:4px solid var(--ty-accent);background:var(--ty-bg-soft);border-radius:0 10px 10px 0;color:#405264}.ty-theme .ty-entry-content table{width:100%;border-collapse:collapse;margin:1.7em 0;font-size:.88rem}.ty-theme .ty-entry-content th,.ty-theme .ty-entry-content td{border:1px solid var(--ty-border);padding:11px 12px;text-align:left}.ty-theme .ty-entry-content th{background:var(--ty-primary);color:#fff}.ty-theme .ty-entry-content a:not(.ty-btn):not(.ty-card-media):not(.ty-text-link){color:#0b5d9b;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.ty-theme .ty-entry-content a:not(.ty-btn):hover{color:var(--ty-accent)}

/* v2.0 Premium article / SEO guide presentation */
.ty-theme .ty-article-hero-premium{position:relative;overflow:hidden;padding:72px 0 78px;background:linear-gradient(135deg,#071e35 0%,#0b2948 65%,#123b63 100%);color:#fff}
.ty-theme .ty-article-hero-premium:before{content:"";position:absolute;inset:auto -8% -45% auto;width:520px;aspect-ratio:1;border-radius:50%;background:rgba(201,150,43,.12);filter:blur(2px)}
.ty-theme .ty-article-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:58px;align-items:center}
.ty-theme .ty-article-hero-copy{max-width:760px}.ty-theme .ty-article-hero-premium .ty-breadcrumbs,.ty-theme .ty-article-hero-premium .ty-breadcrumbs a{color:#c7d5e3}.ty-theme .ty-article-hero-premium .ty-eyebrow{color:#e0ad42}.ty-theme .ty-article-hero-premium h1{margin:.35rem 0 1.2rem;color:#fff;font-size:clamp(2.45rem,4.8vw,4.8rem);line-height:1.04;letter-spacing:-.035em;max-width:880px}.ty-theme .ty-article-lead{max-width:690px;margin:0;color:#d7e3ee;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.75}.ty-theme .ty-article-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.ty-theme .ty-article-meta span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);color:#eaf1f7;font-size:.78rem;font-weight:600}.ty-theme .ty-article-hero-media{position:relative}.ty-theme .ty-article-hero-media:after{content:"";position:absolute;left:-14px;bottom:-14px;width:44%;height:38%;border-left:3px solid var(--ty-accent);border-bottom:3px solid var(--ty-accent);border-radius:0 0 0 18px;pointer-events:none}.ty-theme .ty-article-hero-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;box-shadow:0 26px 60px rgba(0,0,0,.28)}
.ty-theme .ty-single-article-premium{padding-top:64px;background:linear-gradient(#f7f9fb,#fff 260px)}.ty-theme .ty-single-article-premium .ty-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start}.ty-theme .ty-article-card{min-width:0;padding:38px 42px 44px;border:1px solid #e6ebf0;border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(7,30,53,.07)}.ty-theme .ty-article-card>p:first-of-type{font-size:1.05rem;line-height:1.85;color:#344b60}.ty-theme .ty-article-card>h2{position:relative;padding-left:18px}.ty-theme .ty-article-card>h2:before{content:"";position:absolute;left:0;top:.18em;width:4px;height:1.05em;border-radius:4px;background:var(--ty-accent)}
.ty-theme .ty-article-sidebar{position:sticky;top:105px;display:grid;gap:18px}.ty-theme .ty-article-side-card{padding:26px;border:0;border-radius:18px;background:linear-gradient(145deg,#071e35,#0b2948);box-shadow:0 16px 38px rgba(7,30,53,.14)}.ty-theme .ty-article-side-card h2{margin:.4rem 0 .75rem;color:#fff;font-size:1.35rem;line-height:1.3}.ty-theme .ty-article-side-card p{margin:0 0 18px;color:#cbd9e6;font-size:.88rem;line-height:1.65}.ty-theme .ty-article-side-card .ty-btn{width:100%;justify-content:center}.ty-theme .ty-article-side-links{padding:23px 24px;border:1px solid #e4eaf0;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(7,30,53,.05)}.ty-theme .ty-article-side-links h2{margin:0 0 10px;color:var(--ty-primary);font-size:1rem}.ty-theme .ty-article-side-links a{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f4;color:#385066;font-size:.86rem;font-weight:600}.ty-theme .ty-article-side-links a:last-child{border-bottom:0}.ty-theme .ty-article-side-links a:hover{color:var(--ty-accent)}
.ty-theme .ty-guide-gallery .ty-gallery-grid{gap:14px}.ty-theme .ty-guide-gallery .ty-gallery-item{overflow:hidden;border-radius:16px;box-shadow:0 10px 26px rgba(7,30,53,.08)}.ty-theme .ty-guide-gallery .ty-gallery-item img{transition:transform .35s ease}.ty-theme .ty-guide-gallery .ty-gallery-item:hover img{transform:scale(1.035)}.ty-theme .ty-guide-faq-list{border:0;display:grid;gap:10px}.ty-theme .ty-guide-faq .ty-acc-item{overflow:hidden;border:1px solid #e5eaf0;border-radius:14px;background:#fff}.ty-theme .ty-guide-faq .ty-acc-item button{padding:17px 19px}.ty-theme .ty-guide-related .ty-card{border-radius:16px;overflow:hidden}.ty-theme .ty-guide-summary{border-left-width:5px}

/* v2.1.3 — lightweight CSS-only brand logo marquee */
.ty-theme .ty-brands{
    padding:54px 0 58px;
    overflow:hidden;
    border-top:1px solid var(--ty-border);
    background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
}
.ty-theme .ty-brands-heading{text-align:center;margin:0 auto 28px;max-width:720px;padding:0 20px}
.ty-theme .ty-brands-heading .ty-eyebrow{display:block;margin-bottom:7px}
.ty-theme .ty-brands-heading h2{margin:0;color:var(--ty-primary);font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.2}
.ty-theme .ty-brands-heading p{margin:9px 0 0;color:#6b7785;font-size:.88rem}
.ty-theme .ty-brand-marquee{position:relative;width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.ty-theme .ty-brand-track{display:flex;width:max-content;animation:ty-brand-scroll 30s linear infinite;will-change:transform}
.ty-theme .ty-brand-track-group{display:flex;align-items:center;gap:28px;padding-right:28px;flex:none}
.ty-theme .ty-brand-item{width:210px;height:94px;display:flex;align-items:center;justify-content:center;flex:none;border:1px solid #edf0f3;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(7,30,53,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ty-theme .ty-brand-item:hover{transform:translateY(-3px);border-color:rgba(201,150,43,.35);box-shadow:0 14px 34px rgba(7,30,53,.1)}
.ty-theme .ty-brand-item a,.ty-theme .ty-brand-logo-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:11px 14px}
.ty-theme .ty-brand-logo{display:block;max-width:100%;width:auto;max-height:62px;height:auto;object-fit:contain;filter:grayscale(1);opacity:.78;transition:filter .25s ease,opacity .25s ease,transform .25s ease}
.ty-theme .ty-brand-item:hover .ty-brand-logo{filter:grayscale(0);opacity:1;transform:scale(1.025)}
.ty-theme .ty-brand-marquee:hover .ty-brand-track{animation-play-state:paused}
@keyframes ty-brand-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.ty-theme .ty-brand-track{animation:none}.ty-theme .ty-brand-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.ty-theme .ty-brand-track-group[aria-hidden="true"]{display:none}}

/* v2.1.4 WhatsApp icon normalization */
.ty-theme .ty-contact-rail .ty-wa .ty-whatsapp-svg{display:block;width:25px;height:25px;fill:#fff;overflow:visible}
.ty-theme .ty-contact-rail .ty-wa{overflow:visible;line-height:0}
/* v2.2 Elementor homepage widgets: preserve native visual rhythm inside Elementor containers. */
.ty-theme .elementor-widget-ty-home-hero > .elementor-widget-container,
.ty-theme .elementor-widget-ty-home-benefits > .elementor-widget-container,
.ty-theme .elementor-widget-ty-home-services > .elementor-widget-container,
.ty-theme .elementor-widget-ty-home-quote > .elementor-widget-container,
.ty-theme .elementor-widget-ty-home-projects > .elementor-widget-container,
.ty-theme .elementor-widget-ty-home-seo > .elementor-widget-container,
.ty-theme .elementor-widget-ty-home-faq > .elementor-widget-container,
.ty-theme .elementor-widget-ty-home-blog > .elementor-widget-container,
.ty-theme .elementor-widget-ty-home-brands > .elementor-widget-container,
.ty-theme .elementor-widget-ty-home-final-cta > .elementor-widget-container{margin:0;padding:0}
.ty-theme .ty-home-page-content--elementor > .elementor{width:100%}
