/*
 * Nuovosys readability layer.
 * The approved design uses 7–12px body text. This file raises the whole type
 * scale (minimum 12px, body copy 15–16px) and adjusts the spacing that has to
 * grow with it, without changing the layout, colours or structure.
 * Loaded after nuovosys.css; delete this file's enqueue to get the original sizes back.
 */

/* ---------- Header ---------- */
body.nuovo .header{height:80px}
body.nuovo .logo{font-size:22px}
body.nuovo .logo-mark{transform:scale(1.18);transform-origin:left center;margin-right:4px}
body.nuovo .logo small{font-size:10px;margin-top:4px}
body.nuovo .navlinks{gap:34px;margin-left:60px}
body.nuovo .navlinks a{font-size:14.5px;padding:29px 0}
body.nuovo .header-cta{font-size:14px;padding:13px 22px}

/* ---------- Shared ---------- */
body.nuovo .eyebrow{font-size:12.5px;margin-bottom:12px}
body.nuovo h2{font-size:44px}
body.nuovo .btn{font-size:15px;padding:15px 26px}
body.nuovo .btn i{font-size:13px}

/* ---------- Hero ---------- */
body.nuovo .hero{min-height:640px}
body.nuovo .hero-content{width:660px}
body.nuovo .hero h1{font-size:58px}
body.nuovo .hero-copy{font-size:17px;max-width:600px;margin-bottom:30px}
body.nuovo .story{font-size:15px}
body.nuovo .play{width:36px;height:36px;font-size:11px}
body.nuovo .hero-stats{gap:56px;margin-top:52px}
body.nuovo .stat strong{font-size:28px}
body.nuovo .stat span{font-size:14px}

/* ---------- Trusted ---------- */
body.nuovo .trusted{padding:26px 0 30px}
body.nuovo .trusted-title{font-size:12px;margin-bottom:22px}
body.nuovo .brand{font-size:18px}

/* ---------- About ---------- */
body.nuovo .about-text>p{font-size:16.5px;max-width:540px;margin-bottom:26px}
body.nuovo .features{gap:26px;margin-top:36px}
body.nuovo .feature-icon{width:44px;height:44px;font-size:17px;margin-bottom:14px}
body.nuovo .feature h4{font-size:16px;margin-bottom:6px}
body.nuovo .feature p{font-size:14px}
body.nuovo .note-script{font-size:20px;width:120px}
body.nuovo .note{font-size:17px;width:200px}

/* ---------- Services ---------- */
body.nuovo .services-top p{font-size:16px;max-width:420px}
body.nuovo .view-link{font-size:15px}
body.nuovo .service-grid{gap:14px}
body.nuovo .service-card{padding:28px 18px 22px;min-height:230px}
body.nuovo .service-icon{font-size:26px;margin-bottom:18px}
body.nuovo .service-card h3{font-size:17px;margin-bottom:10px}
body.nuovo .service-card p{font-size:14px}
body.nuovo .service-card a{font-size:14px;margin-top:16px}

/* ---------- Work ---------- */
body.nuovo .work-top p{font-size:15.5px;max-width:380px}
body.nuovo .project img{height:170px}
body.nuovo .project-info{padding:14px 4px 4px}
body.nuovo .project-info strong{font-size:16px}
body.nuovo .project-info strong small{font-size:13.5px;font-weight:500;color:var(--muted)}
body.nuovo .project-info span{font-size:14px}

/* ---------- Why ---------- */
body.nuovo .why-copy{font-size:16.5px;max-width:520px;margin-bottom:24px}
body.nuovo .reason{padding:22px 18px;gap:15px}
body.nuovo .reason-icon{width:48px;height:48px;font-size:18px}
body.nuovo .reason h4{font-size:17px;margin:2px 0 6px}
body.nuovo .reason p{font-size:14.5px}

/* ---------- Testimonials ---------- */
body.nuovo .test-top p{font-size:15.5px;max-width:340px}
body.nuovo .test-card{padding:26px}
body.nuovo .quote{font-size:15.5px;min-height:110px}
body.nuovo .person{gap:12px;margin-top:16px}
body.nuovo .avatar{width:44px;height:44px}
body.nuovo .person strong{font-size:15px}
body.nuovo .person span{font-size:13px}

/* ---------- CTA ---------- */
body.nuovo .cta{min-height:340px}
body.nuovo .cta h2{font-size:48px;max-width:560px}
body.nuovo .cta p{font-size:17px;max-width:500px;margin-bottom:26px}

/* ---------- Footer ---------- */
body.nuovo .footer{padding:52px 0 22px}
body.nuovo .footer .logo{margin-bottom:18px}
body.nuovo .footer-desc{font-size:15px;max-width:280px}
body.nuovo .socials{gap:10px;margin-top:20px}
body.nuovo .socials a{width:34px;height:34px;font-size:14px}
body.nuovo .footer h4{font-size:16px;margin-bottom:16px}
body.nuovo .footer-links{gap:10px}
body.nuovo .footer-links a,body.nuovo .contact-row{font-size:14.5px}
body.nuovo .contact-row{gap:11px;margin-bottom:12px}
body.nuovo .contact-row i{width:14px;margin-top:4px}
body.nuovo .footer-bottom{font-size:13px;margin-top:36px;padding-top:18px}

/* ---------- Tablet ---------- */
@media(max-width:1180px){
  body.nuovo .service-grid{grid-template-columns:repeat(3,1fr)}
  body.nuovo .service-card{min-height:200px}
}
@media(max-width:1000px){
  body.nuovo .navlinks{gap:20px;margin-left:24px}
  body.nuovo .hero h1{font-size:52px}
  body.nuovo .hero-content{width:100%;max-width:640px}
}

/* ---------- Mobile ---------- */
@media(max-width:760px){
  body.nuovo .header{height:68px}
  body.nuovo h2{font-size:34px}
  body.nuovo .hero{min-height:700px}
  body.nuovo .hero h1{font-size:46px}
  body.nuovo .hero-stats{gap:24px}
  body.nuovo .cta h2{font-size:38px}
  body.nuovo .project img{height:200px}
  body.nuovo .quote{min-height:0}
  body.nuovo .footer-bottom{font-size:13px}
}
@media(max-width:480px){
  body.nuovo .hero h1{font-size:39px;letter-spacing:-1.6px}
  body.nuovo .hero-copy{font-size:16px}
  body.nuovo .stat strong{font-size:24px}
  body.nuovo .stat span{font-size:13.5px}
  body.nuovo .note{width:165px;font-size:14.5px;padding:16px 18px}
  body.nuovo .service-card{min-height:0}
  body.nuovo .brand{font-size:16px}
}

/* Headings keep their designed line breaks at the larger size. */
body.nuovo .about-text h2,body.nuovo .why h2{max-width:none}
body.nuovo .services-top h2,body.nuovo .work h2{white-space:normal}

@media(max-width:1000px){
  body.nuovo .brands{overflow:auto;justify-content:flex-start;padding-bottom:4px;gap:32px}
  body.nuovo .brand{min-width:max-content;font-size:16px}
}

/* Keep the design's smaller-screen service grid (my 3-column tablet rule above must not win on phones). */
@media(max-width:760px){body.nuovo .service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){body.nuovo .service-grid{grid-template-columns:1fr}}
