/* Shared dimensions for VICTAnova and Massimiliano Fastelli. */
:root{--max:1240px;--shared-content-width:1240px;--shared-gutter:48px}
body{font-size:16px;line-height:1.55}
body .shell,body .wrap{width:min(calc(100% - var(--shared-gutter)),var(--shared-content-width));margin-inline:auto}
body>header,body>header.nav{position:sticky;top:0;display:block;height:auto;min-height:0;padding:0;border-bottom-width:1px}
body>header>nav.shell,body>header.nav>.wrap{width:100%;max-width:none;margin:0;padding:12px 24px 8px;gap:8px 18px;grid-template-rows:44px 44px}
body>header .brand,body>header.nav .logo{font:800 23px/1.1 Manrope,sans-serif;letter-spacing:-1px}
body>header .brand small,body>header.nav .logo small{display:block;font:600 10px/1.2 'DM Sans',sans-serif;letter-spacing:1.6px;margin-top:5px}
body>header :is(.links,.shared-links){min-height:44px}
body>header :is(.links,.shared-links) :is(a,button){font-size:14px;line-height:20px}
body>header .world-clock{font:700 12px/1.2 'DM Sans',sans-serif}
body>header .world-clock>span{display:grid;align-content:center;justify-items:center;gap:2px;min-width:68px;padding:6px 9px}
body>header .world-clock .clock-date{min-width:100px}
body>header .world-clock b{font-size:11px;line-height:1.2}
body>header :is(.lang-switch,.language-switch){display:flex;gap:6px}
body>header :is(.lang-switch button,.language-button){width:36px;height:36px;padding:0;box-sizing:border-box}
body.site-home .hero{min-height:770px;padding:160px 0 92px;align-items:end}
body.site-home .hero h1{font-size:clamp(46px,7.3vw,96px);line-height:.98;letter-spacing:-.052em;margin:26px 0 30px;max-width:850px}
body.site-home .hero :is(p.hero-copy,.lead){font-size:20px;line-height:1.55;max-width:760px;margin:0 0 38px}
body.site-home section:not(.hero):not(.visual-wrap):not(.trustbar){padding-block:110px}
@media(max-width:800px){
 :root{--shared-gutter:32px}
 body>header>nav.shell,body>header.nav>.wrap{padding:8px 12px;gap:2px 7px;grid-template-rows:44px 38px}
 body>header .world-clock>span{min-width:0;padding:5px}
 body>header .world-clock .clock-date{min-width:0}
 body>header :is(.lang-switch,.language-switch){gap:3px}
 body>header :is(.lang-switch button,.language-button){width:32px;height:34px}
 body.site-home .hero{min-height:700px;padding:100px 0 72px}
 body.site-home .hero h1{font-size:clamp(40px,6.375vw,51px);letter-spacing:-.05em}
 body.site-home .hero :is(p.hero-copy,.lead){font-size:18px}
 body.site-home section:not(.hero):not(.visual-wrap):not(.trustbar){padding-block:78px}
}
@media(max-width:460px){body>header .brand,body>header.nav .logo{font-size:20px}body>header .brand small,body>header.nav .logo small{font-size:8px}}
@media(max-width:360px){body>header .brand,body>header.nav .logo{font-size:18px}body>header .brand small,body>header.nav .logo small{font-size:7px;letter-spacing:1.2px}}

@media(max-width:800px){
 body>header>nav.shell,body>header.nav>.wrap{display:grid;grid-template-columns:minmax(0,1fr) max-content}
 body>header>nav>.brand,body>header.nav>.wrap>.logo{grid-column:1;grid-row:1}
 body>header>nav>.nav-tools,body>header.nav>.wrap>:is(.nav-tools,.nav-actions,.header-actions){grid-column:2;grid-row:1;margin:0}
 body>header>nav>.world-clock,body>header.nav>.wrap>.world-clock{grid-column:1/-1;grid-row:2;justify-self:end;width:max-content;margin:0}
 body>header :is(.header-search,.header-search-trigger,.header-search-link,.menu-toggle,.shared-menu-button,.menu){width:34px;height:34px;padding:0}
}

/* Shared type and control dimensions for equivalent content on both Sites. */
body :is(main,section,footer) :is(.button,.btn){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:14px 20px;font-size:14px;line-height:20px;font-weight:700}
body :is(.section-head,.insight-top,.method,.impact) h2{font-size:clamp(36px,5vw,64px);line-height:1.05;letter-spacing:-.045em}
body :is(.section-head p,.intro){font-size:18px;line-height:1.55}
body .section-head{gap:60px;margin-bottom:62px}
body :is(.actions,.hero-actions){gap:14px}
body :is(.card,.service) h3{font-size:23px;line-height:1.25}
@media(max-width:800px){
 body .section-head{gap:28px;margin-bottom:36px}
 body :is(.section-head,.insight-top,.method,.impact) h2{font-size:clamp(30px,5vw,40px);line-height:1.1}
 body :is(.section-head p,.intro){font-size:16px;line-height:1.55}
}
/* Allow the longer personal name and the controls to fit on narrow screens. */
@media(max-width:540px){
 body>header>nav.shell,body>header.nav>.wrap{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 36px 38px;gap:6px}
 body>header>nav>.brand,body>header.nav>.wrap>.logo{grid-column:1;grid-row:1;justify-self:start}
 body>header>nav>.nav-tools,body>header.nav>.wrap>:is(.nav-tools,.nav-actions,.header-actions){grid-column:1;grid-row:2;justify-self:end}
 body>header>nav>.world-clock,body>header.nav>.wrap>.world-clock{grid-column:1;grid-row:3;justify-self:end}
}
