:root{
 --type-small:18px;
 --type-body:18px;
 --type-lead:22px;
 --type-card:22px;
 --type-section:48px;
 --type-hero:86px;
}
body{font-size:var(--type-body)}
button,input,select,textarea{font:inherit}
small,sub,sup{font-size:var(--type-small)}
h1{font-size:clamp(44px,6vw,var(--type-hero))}
h2{font-size:clamp(34px,3.5vw,var(--type-section))}
h3{font-size:var(--type-card)}
h4{font-size:24px}
h5,h6{font-size:22px}
.topline,.topline .shell,.desktop-nav,.desktop-nav summary:after{font-size:var(--type-small)}
.phone-top{font-size:22px}
.header-inner{width:min(1360px,calc(100% - 48px))}
.desktop-nav{gap:16px}
.desktop-nav>a,.desktop-nav summary{white-space:nowrap}
.desktop-nav .dropdown{min-width:280px}
.desktop-nav .dropdown a{white-space:normal;overflow-wrap:break-word}
.desktop-nav summary:after{flex-shrink:0}
@media(min-width:1281px){
 .header-inner{width:min(calc(var(--width) + 80px),calc(100% - 48px))}
 .desktop-nav{gap:15px}
}
.btn,.desktop-nav .nav-contact,.mobile-toggle,
.page-content .computek-button .vc_btn3{font-size:var(--type-small)}
.hero p{font-size:20px}
.hero .breadcrumbs{font-size:var(--type-small)}
.migration-hero h1,.hero:not(.hero-home) h1{font-size:clamp(44px,5.5vw,78px)}
.hero:not(.hero-home) .wpb_wrapper{max-width:1000px}
.computek-city-heading .city-state{white-space:nowrap}
.page-content .computek-industry-hero .wpb_wrapper{max-width:none}
.page-content .computek-industry-hero h1{max-width:none;font-size:clamp(40px,4.2vw,60px);letter-spacing:-1.5px}
@media(min-width:801px){.page-content .hero .wpb_wrapper:has(.computek-city-heading){max-width:none}}
@media(max-width:400px){.page-content .hero h1.computek-city-heading{font-size:clamp(32px,calc(12.5vw - 4px),44px)}}
.minor-heading,.migration-copy h3,.migration-offers .card h3{font-size:26px}
.migration-copy h2{font-size:38px}
.migration-intro h2{font-size:40px}
.migration-intro .migration-lead{font-size:var(--type-lead)}
.migration-about-intro h2{font-size:32px}
.migration-about-intro h2:first-child{font-size:26px}
.page-content .migration-labels .card h3{font-size:var(--type-card)}
.card p,.page-content .benefits .checklist,.migration-copy table,
.text-link,.areas,.address,.map-caption,.map-credit,
.contact-enquiry-panel .contact-form-note,.live-form .live-form-note{font-size:var(--type-body)}
.trust-card strong{font-size:20px}
.trust-card small{font-size:var(--type-small)}
.page-content .trust-row .vc_column-inner>.wpb_wrapper,
.page-content .trust-row .wpb_text_column,
.page-content .trust-row .wpb_text_column>.wpb_wrapper{display:flex;flex-direction:column;flex:1}
.page-content .trust-row .trust-card{flex:1}
.quote-card h3,.computek-testimonials .quote-card h3{font-size:20px}
.quote-card blockquote,.computek-testimonials .quote-card blockquote{font-size:20px}
.single-quote .quote-card blockquote{font-size:24px}
.computek-testimonials.layout-wall .quote-card blockquote{font-size:var(--type-body)}
.quote-card cite,.quote-card cite small,.computek-testimonials .quote-card cite{font-size:var(--type-small)}
.service-flip .service-flip__back p,.service-flip__hint,
.service-flip__actions a,.service-flip__close{font-size:var(--type-small)}
.service-flip__actions a{min-width:0;flex:1}
.service-flip__actions{align-items:flex-end}
.page-content .vc_tta.vc_general .vc_tta-panel-title>a{font-size:var(--type-body)}
.cta h2{font-size:54px}
.site-footer,.footer-menu a,.footer-bottom{font-size:var(--type-small)}
.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);gap:36px}
.footer-grid h2,.footer-brand .footer-phone{font-size:22px}
.footer-brand a,.footer-menu a{overflow-wrap:anywhere}
.footer-bottom{flex-wrap:wrap}

/* The expanded navigation needs a menu button before its 18px labels crowd the logo. */
@media(min-width:801px) and (max-width:1280px){
 .header-inner{flex-wrap:wrap;gap:0;min-height:94px}
 .mobile-toggle{display:block}
 .desktop-nav{display:none;width:100%;padding:16px 0 24px;align-items:stretch;gap:0}
 .desktop-nav.is-open{display:flex;flex-direction:column}
 .desktop-nav>a:not(.nav-contact){min-height:52px;padding:12px 0}
 .desktop-nav summary{min-height:52px;padding:0}
 .desktop-nav .has-root-link .menu-root-link{min-height:52px}
 .desktop-nav summary.has-root-link:after{width:44px;min-width:44px;min-height:44px}
 .desktop-nav .dropdown{position:static;border:0;box-shadow:none;padding:0 0 8px 18px}
 .desktop-nav .nav-contact{align-self:flex-start;margin-top:12px}
}
@media(max-width:1100px){
 h1{font-size:70px}
 h2{font-size:40px}
 .trust-card strong{font-size:20px}
 .page-content .cards-row>.vc_column_container.vc_col-sm-3:not(.computek-custom-responsive){width:50%}
 .page-content .cards-row:has(>.vc_col-sm-3){row-gap:24px}
}
@media(max-width:800px){
 body{font-size:var(--type-body)}
 h1,.migration-hero h1,.hero:not(.hero-home) h1{font-size:44px}
 h2{font-size:34px}
 h3{font-size:var(--type-card)}
 .header-inner{width:calc(100% - 40px)}
 .topline .shell{flex-direction:column;align-items:stretch;font-size:var(--type-small)}
 .topline .shell>span{padding:8px 0;text-align:center;line-height:1.4}
 .phone-top{font-size:20px;justify-content:center;min-height:48px}
 .desktop-nav{font-size:var(--type-small);gap:0}
 .desktop-nav>a,.desktop-nav summary{white-space:normal}
 .desktop-nav .dropdown{min-width:0}
 .hero p{font-size:var(--type-body)}
 .migration-copy h2,.migration-intro h2{font-size:32px}
 .migration-copy h3,.migration-offers .card h3{font-size:24px}
 .migration-about-intro h2,.migration-about-intro h2:first-child{font-size:26px}
 .trust-card strong{font-size:20px}
 .trust-card small{font-size:var(--type-small)}
 .service-flip__actions a{font-size:var(--type-small)}
 .single-quote .quote-card blockquote{font-size:22px}
 .cta h2{font-size:40px}
 .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 24px}
 .footer-brand{grid-column:1/-1}
 .footer-grid h2{font-size:22px}
 .page-content .cards-row>.vc_column_container.vc_col-sm-3:not(.computek-custom-responsive){width:100%}
}
@media(max-width:360px){
 h1,.migration-hero h1,.hero:not(.hero-home) h1{font-size:40px}
 .service-flip__actions{flex-wrap:wrap}
}
@media(max-width:480px){
 .page-content .vc_row.trust-row{grid-template-columns:1fr}
 .trust-card{min-height:112px}
}
