/* Vallenoval global visual system: compact brand, restrained type and consistent spacing */
:root{
  --vn-font-body: Inter, "Segoe UI", Arial, sans-serif;
  --vn-font-display: Montserrat, Inter, "Segoe UI", Arial, sans-serif;
  --vn-bone:#f7f3ea;
  --vn-bone-soft:#fbf8f2;
  --vn-ink:#17324a;
}
html{font-size:16px}
body{font-family:var(--vn-font-body);font-size:16px;line-height:1.58;background:var(--vn-bone-soft);color:var(--vn-ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--vn-font-display);letter-spacing:-.025em;line-height:1.14}
p,li,a,button,input,textarea,select{font-family:var(--vn-font-body)}
img[src*="logo-compact.png"]{display:block;object-fit:contain;object-position:center}

/* Unified header logo proportions */
.brand img,.catalog-brand img,.campaign-brand img,.legal-brand img,.app-brand img,.brand img{width:118px!important;height:62px!important;max-width:118px!important}
.site-header .nav,.catalog-nav,.campaign-nav,.legal-nav,.app-nav{min-height:72px!important;height:auto!important}
.footer img,.catalog-footer img,.campaign-footer img,.legal-footer img,.app-footer img{width:132px!important;height:auto!important;background:transparent!important;border-radius:0!important}

/* Consistent, professional type scale */
.hero h1,.catalog-hero h1,.campaign-hero h1,.legal-hero h1,.quick-hero h1{font-size:clamp(38px,4.2vw,58px)!important;line-height:1.08!important;max-width:820px}
.hero h2,.catalog-hero h2,.campaign-hero h2,.legal-hero h2,.quick-hero h2{font-size:clamp(24px,2.7vw,36px)!important}
.section h2,.section-title h2,.campaign-section h2,.catalog-section h2,.legal-sections h2{font-size:clamp(28px,3.2vw,42px)!important}
h3{font-size:clamp(18px,1.8vw,24px)!important}
.hero p,.catalog-hero p,.campaign-hero p,.legal-hero p,.quick-hero p{font-size:clamp(16px,1.35vw,19px)!important;line-height:1.58!important}

/* Reduce oversized page spacing */
.hero,.catalog-hero,.campaign-hero,.legal-hero,.quick-hero{padding-top:68px!important;padding-bottom:68px!important;min-height:auto!important}
.hero-grid,.catalog-hero-grid,.campaign-hero-grid,.legal-hero-grid,.quick-hero .hero-grid{gap:48px!important}
.section,.campaign-section,.catalog-section,.legal-content{padding-top:70px!important;padding-bottom:70px!important}

/* Catalog: remove overpowering dark scale and keep brand-light presentation */
.catalog-hero{background:linear-gradient(135deg,#eef6f3 0%,#f7f1e6 58%,#edf4fb 100%)!important;color:var(--vn-ink)!important}
.catalog-hero h1,.catalog-hero p{color:var(--vn-ink)!important}
.catalog-hero h1{max-width:760px!important}
.catalog-hero-grid{align-items:center!important}
.catalog-hero .eyebrow{color:#12836d!important}
.catalog-hero-card{max-width:650px!important;margin-left:auto!important}

/* Keep navigation compact */
.nav-links,.catalog-nav-links,.campaign-nav-links,.legal-nav-links{gap:18px!important}
.nav a,.catalog-nav a,.campaign-nav a,.legal-nav a{font-size:13px!important}
.btn{font-size:14px!important;padding:11px 17px!important;border-radius:9px!important}

/* Better desktop width and card text */
.wrap,.container,.shell{width:min(1180px,calc(100% - 40px))!important}
.solution-card p,.campaign-product-copy p,.catalog-product-card p,.legal-topic-grid p{font-size:14px!important}

/* Language switch consistency */
.language-switch,.home-language-switch{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid rgba(23,50,74,.2);border-radius:9px;background:rgba(255,255,255,.72)}
.language-switch button,.home-language-switch button{border:0;background:transparent;color:var(--vn-ink);font-size:12px;font-weight:800;padding:6px 8px;border-radius:6px;cursor:pointer}
.language-switch button.active,.home-language-switch button.active{background:#0b6bc7;color:#fff}

@media(max-width:760px){
  html{font-size:15px}
  .brand img,.catalog-brand img,.campaign-brand img,.legal-brand img,.app-brand img{width:100px!important;height:52px!important;max-width:100px!important}
  .hero h1,.catalog-hero h1,.campaign-hero h1,.legal-hero h1,.quick-hero h1{font-size:clamp(32px,10vw,43px)!important}
  .hero,.catalog-hero,.campaign-hero,.legal-hero,.quick-hero{padding-top:52px!important;padding-bottom:52px!important}
  .section,.campaign-section,.catalog-section,.legal-content{padding-top:54px!important;padding-bottom:54px!important}
  .wrap,.container,.shell{width:min(100% - 28px,1180px)!important}
}
