/* Giovanni's October review: consistent page rhythm and clear mobile navigation. */
[hidden]{display:none!important}
.header-contact{flex-shrink:0;white-space:nowrap;order:3}
header .menu{order:4}
header .navlinks{margin-left:auto}
.hero-full h1 em{display:block}
.service-intro{display:block;max-width:none}
.service-intro h2,.service-intro p,.offer-heading,.offer-heading p{max-width:none}
.service-intro p{margin:22px 0 0}
.offer-photo:has(>img){padding-bottom:0}
.offer-photo img{border-radius:6px}
.site-footer-column address{max-width:none}
.site-footer-links{grid-template-columns:1.1fr .8fr 1.35fr}
.site-footer-bottom{flex-direction:row;align-items:center;gap:12px 24px}
.site-footer-bottom>span{white-space:nowrap}
.site-footer-legal{gap:16px}
.career-impact-media{padding:0 0 64px}
.career-invitation{padding:42px 0}
.career-work-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin:auto;gap:22px}
.career-work-gallery img{aspect-ratio:4/3;object-fit:cover;object-position:center}
.team-careers-link{padding:0 0 65px;text-align:center}
.team-careers-link .button{min-width:160px;justify-content:center}
@media(max-width:1100px) and (min-width:901px){header nav{gap:18px}.navlinks{gap:18px}.brand img{width:150px}.header-contact{padding:12px 17px}}
@media(max-width:900px){
  header nav{height:80px;gap:12px}
  header .brand{margin-right:auto}
  header .brand img{width:132px}
  header .header-contact{padding:10px 13px;font-size:13px;order:2}
  header .menu{padding:8px 10px;order:3;font-size:13px}
  header .navlinks{top:80px;margin:0}
  .hero.hero-full{min-height:calc(100svh - 80px)}
  .site-footer-links{grid-template-columns:1fr 1fr;gap:28px}
  .site-footer-column:last-child{grid-column:1/-1}
}
@media(max-width:600px){
  .hero-full h1{font-size:clamp(34px,8.2vw,48px);max-width:100%}
  .hero-full .hero-line{display:block}
  .hero-full h1 em{white-space:nowrap}
  .hero-full p{font-size:16px}
  .site-footer-bottom{gap:10px 18px;font-size:11px}
  .site-footer-legal{gap:12px}
  .career-work-gallery{gap:14px}
  .career-impact-media{padding-bottom:40px}
}
@media(max-width:360px){header nav{gap:7px}.brand img{max-width:106px}header .header-contact{font-size:12px;padding:9px 10px}header .menu{padding:7px 8px}.career-work-gallery{grid-template-columns:1fr}}
