/* TCC V30 landing-page refinements. */

.hero h1 .hero-title-accent{
    white-space:normal!important;
    font-size:.82em!important;
    line-height:1.05!important;
    max-width:660px;
}

.trust-item{align-items:flex-start!important;}
.trust-item strong{font-weight:800!important;}
.trust-item small{line-height:1.35!important;}

/* Google review proof inside the hero photo. */
.review-float{
    text-decoration:none!important;
    color:var(--ink)!important;
    min-width:245px;
}
.review-float:hover{
    transform:translateY(-3px)!important;
    box-shadow:0 18px 42px rgba(49,10,68,.20)!important;
}
.google-review-logo{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:0 0 38px;
    border-radius:12px;
    background:#fff;
    border:1px solid rgba(62,37,113,.12);
    box-shadow:0 4px 14px rgba(40,56,100,.08);
}
.google-review-logo svg{width:22px;height:22px;display:block;}
.review-float-copy{display:grid;gap:3px;line-height:1.2;}
.review-stars{color:#F5A623;letter-spacing:.08em;font-size:.78rem;}

.assurance-item small{line-height:1.35!important;}

@media (min-width:1180px){
    .hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)!important;gap:78px!important;}
    .hero h1{font-size:clamp(3.05rem,3.75vw,4.1rem)!important;}
}

@media (max-width:980px){
    .hero h1 .hero-title-accent{max-width:none;}
}

@media (max-width:700px){
    .hero h1 .hero-title-accent{font-size:.86em!important;}
}

@media (max-width:520px){
    .trust-item strong{font-size:.83rem!important;}
    .trust-item small{font-size:.7rem!important;}
    .review-float{min-width:0;max-width:230px!important;}
}
