/* RexGroup v0.5.3 — Premium typography & visual hierarchy.
   Isolated typography layer: no layout, branding, language or component logic changes. */
:root{
  --font-primary: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --text-strong:#202124;
  --text-body:#4f4b49;
  --text-muted:#75706d;
  --brand-burgundy:#7d1730;
  --brand-burgundy-deep:#681329;
}
html,body{font-family:var(--font-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-weight:400;color:var(--text-body);line-height:1.6;letter-spacing:0}

/* Header + navigation: compact, authoritative and clearly separated from content. */
.site-header,.site-header button,.site-header a,.language-select,.side-menu-panel{font-family:var(--font-primary)}
.site-header nav a,.site-header .nav-link,.nav-wrap>a:not(.brand),.side-menu-panel a{
  font-size:14px;font-weight:600;line-height:1.2;letter-spacing:-.01em
}
.side-menu-title{font-size:10px!important;font-weight:800!important;letter-spacing:.18em!important;text-transform:uppercase;color:var(--text-muted)}
.language-select,.lang-button,.language-toggle{font-size:12px!important;font-weight:700!important;letter-spacing:.035em!important}

/* Hero hierarchy. */
.eyebrow,.hero-kicker,.hero .kicker{
  font-size:12px!important;font-weight:750!important;line-height:1.25!important;letter-spacing:.19em!important;text-transform:uppercase
}
.hero h1{
  font-size:clamp(48px,6.25vw,88px)!important;
  line-height:.96!important;
  font-weight:800!important;
  letter-spacing:-.055em!important;
  color:var(--text-strong)
}
.hero p,.hero-copy p,.hero .lead{
  font-size:clamp(16px,1.25vw,19px)!important;
  line-height:1.65!important;
  font-weight:400!important;
  letter-spacing:-.008em!important;
  color:var(--text-body)
}
.hero .accent,.hero h1 .accent{font-weight:800!important;color:var(--brand-burgundy)}

/* Buttons: clear action hierarchy without decorative styling. */
.btn,.button,.hero-actions a,.product-card>a,.contact a{
  font-family:var(--font-primary)!important;
  font-size:12.5px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.025em!important
}

/* Service strip: labels are distinct from supporting descriptions. */
.service-item b,.service-item strong,.service b,.services b{
  font-size:11px!important;font-weight:750!important;line-height:1.2!important;letter-spacing:.015em!important
}
.service-item small,.service small,.services small{
  font-size:9.5px!important;font-weight:450!important;line-height:1.3!important;letter-spacing:0!important;color:var(--text-muted)
}

/* Main product cards. */
.product-card h2{font-size:20px!important;font-weight:750!important;line-height:1.15!important;letter-spacing:-.025em!important;color:var(--text-strong)}
.product-card em{font-style:normal!important;font-size:11.5px!important;font-weight:600!important;line-height:1.35!important;letter-spacing:.005em!important;color:#756d68!important}
.product-card p{font-size:13.5px!important;font-weight:400!important;line-height:1.62!important;letter-spacing:-.004em!important;color:#575250!important}
.product-card>a{font-size:11px!important;font-weight:750!important;letter-spacing:.035em!important}

/* Section headings: shared premium hierarchy. */
.company-kicker,.ecosystem-heading .company-kicker{
  font-size:11px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:.20em!important;text-transform:uppercase
}
.company-story h2,.ecosystem-heading h2{
  font-size:clamp(30px,3.1vw,46px)!important;
  line-height:1.06!important;
  font-weight:760!important;
  letter-spacing:-.042em!important;
  color:var(--text-strong)
}
.company-story-copy p,.ecosystem-heading p{
  font-size:16px!important;line-height:1.72!important;font-weight:400!important;letter-spacing:-.006em!important;color:#5a5653!important
}
.company-highlight strong{font-size:23px!important;font-weight:800!important;line-height:1!important;letter-spacing:-.035em!important}
.company-highlight span{font-size:12.5px!important;font-weight:500!important;line-height:1.4!important;color:#56514e!important}

/* Ecosystem cards: product name > category > description. */
.ecosystem-card h3{font-size:17px!important;font-weight:750!important;line-height:1.2!important;letter-spacing:-.022em!important;color:var(--text-strong)}
.ecosystem-card b{font-size:9.5px!important;font-weight:800!important;line-height:1.25!important;letter-spacing:.105em!important;text-transform:uppercase;color:#9a6c4a!important}
.ecosystem-card p{font-size:12.5px!important;font-weight:400!important;line-height:1.58!important;letter-spacing:-.002em!important;color:#625d5a!important}
.ecosystem-icon{font-weight:800!important;letter-spacing:-.025em!important}

/* KPI / statistics: number is dominant, label secondary, description tertiary. */
.stat b{font-size:18px!important;font-weight:800!important;line-height:1!important;letter-spacing:-.025em!important;color:#372b29!important}
.stat>span,.stat span{font-size:10.5px;font-weight:750;line-height:1.2;letter-spacing:.025em}
.stat small{display:block;font-size:9px!important;font-weight:450!important;line-height:1.25!important;letter-spacing:0!important;color:#7a7470!important}

/* Contact and footer: restrained final hierarchy. */
.contact h2{font-size:24px!important;font-weight:750!important;line-height:1.15!important;letter-spacing:-.03em!important}
.contact p{font-size:14px!important;font-weight:400!important;line-height:1.6!important;letter-spacing:-.003em!important}
.contact-actions>span{font-size:10px!important;font-weight:800!important;letter-spacing:.10em!important}
.site-footer,.footer-inner{font-size:11.5px!important;font-weight:450!important;line-height:1.45!important;letter-spacing:.002em!important}
.footer-since{font-weight:650!important;color:#795b4f!important}

/* Long-form content defaults for future sections. */
main p{max-width:72ch}
h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);text-wrap:balance}
p{font-family:var(--font-primary);text-wrap:pretty}

/* Responsive type rhythm: keep hierarchy without oversized typography. */
@media(max-width:900px){
  .hero h1{font-size:clamp(43px,9vw,68px)!important}
  .hero p,.hero-copy p,.hero .lead{font-size:16px!important}
  .product-card h2{font-size:19px!important}
}
@media(max-width:600px){
  .site-header nav a,.site-header .nav-link,.side-menu-panel a{font-size:13.5px!important}
  .hero h1{font-size:clamp(39px,12vw,56px)!important;letter-spacing:-.045em!important}
  .eyebrow,.hero-kicker,.hero .kicker{font-size:10.5px!important;letter-spacing:.16em!important}
  .company-story h2,.ecosystem-heading h2{font-size:29px!important}
  .company-story-copy p,.ecosystem-heading p{font-size:15px!important}
}
