/* PIMOLINK typography v1. Single source for text hierarchy across all pages.
   Inter across the original design: regular reading text, medium headings, bold emphasis.
   400 = reading text; 500 = headings/actions; 700 = explicit emphasis. Never stretch text. */
:root {
  --font-text: Inter, Arial, sans-serif;
  --type-display: 48px;
  --type-page: 40px;
  --type-section: 32px;
  --type-subheading: 24px;
  --type-card: 20px;
  --type-body: 16px;
  --type-small: 14px;
  --type-label: 12px;
  --text-heading: #17211d;
  --text-body: #46544e;
  --text-muted: #66736c;
  --text-accent: #167958;
  --gray900: var(--text-heading);
  --gray600: var(--text-body);
  --gray400: var(--text-muted);
}
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body {
  font-family:var(--font-text);
  font-size:var(--type-body);
  font-weight:400;
  font-stretch:normal;
  font-synthesis:none;
  line-height:1.65;
  color:var(--text-body);
}
button, input, textarea, select { font-family:var(--font-text); font-size:var(--type-body); }
h1,h2,h3,h4,h5,h6,
.hero-title,.section-title,.cta-title,.ps-hero-title,.cat2-title,.art-title,
.sa-card-title,.pg-title,.guide-title,.rsec-title,.art-card-title,
.form-title,.contact-info-title,.buyer-name,.service-name,.prod-name,.why-title,.values-title,.case-title {
  font-family:var(--font-text) !important;
  font-stretch:normal !important;
  letter-spacing:normal !important;
  font-style:normal;
  color:var(--text-heading);
}
h1,.cat2-title,.art-title { font-size:var(--type-page) !important; font-weight:500 !important; line-height:1.2 !important; }
h2,.section-title,.cta-title { font-size:var(--type-section) !important; font-weight:500 !important; line-height:1.25 !important; }
h3,h4,h5,h6 { font-size:var(--type-card) !important; font-weight:500 !important; line-height:1.35 !important; }
.hero-title,.ps-hero-title { font-size:var(--type-display) !important; font-weight:500 !important; line-height:1.18 !important; }
.sa-card-title,.rsec-title,.sol-title { font-size:var(--type-subheading) !important; font-weight:500 !important; line-height:1.3 !important; }
.pg-title,.guide-title,.art-card-title,.form-title,.contact-info-title,.buyer-name,.service-name,.prod-name,.why-title,.values-title,.case-title {
  font-size:var(--type-card) !important; font-weight:500 !important; line-height:1.35 !important;
}
p,li,blockquote { font-weight:400; letter-spacing:normal; }
strong,b { font-weight:700 !important; }
.hero-sub,.section-desc,.cta-desc,.ps-hero-desc,.cat2-desc,.sa-card-desc,.pg-desc,.guide-sum,.rsec-desc,.art-card-sum,.sol-desc,.mini-note,
.buyer-desc,.service-desc,.prod-desc,.case-desc,.why-text,.art-body {
  font-size:var(--type-body) !important; line-height:1.65 !important; color:var(--text-body);
}
.eyebrow,.section-label,.panel-label,.pain-label {
  font-size:var(--type-label) !important; font-weight:500 !important;
  letter-spacing:.08em !important; line-height:1.5 !important; color:var(--text-accent);
}
.nt,.lang-btn,.lang-item,.mobile-menu a,.footer-links a { font-size:var(--type-small) !important; font-weight:400 !important; letter-spacing:normal !important; }
.btn-primary,.btn-ghost,.submit-btn,.nav-cta,.mobile-cta,.sa-btn,.mab-whatsapp,.mab-inquiry {
  font-size:var(--type-small) !important; font-weight:500 !important; line-height:1.4 !important; letter-spacing:normal !important;
}
.logo,.footer-logo { font-family:var(--font-text) !important; font-weight:500 !important; letter-spacing:-.5px; }
.hero-title em,.ps-hero-title em { font-style:normal; font-weight:500; }
.hero-section .hero-title,.hero-section .hero-sub { color:inherit; }
/* Keep dark-background text readable; white and accent colours remain intentional. */
.hero-full .hero-title,.hero-full h1,.hero-full .hero-sub { color:#fff; }
@media(max-width:700px) {
  :root { --type-display:34px; --type-page:32px; --type-section:28px; --type-subheading:22px; --type-card:20px; }
  .mobile-menu a { font-size:16px !important; }
}

.hero-title-light,.hero-sub-light { color:#fff !important; }
.btn-glass,.btn-lg,.cta a.btn { font-family:var(--font-text) !important; font-size:var(--type-small) !important; font-weight:500 !important; letter-spacing:normal !important; }
.hero-eyebrow-light { color:#9fe4c8 !important; }
.cs-article { --ink:var(--text-body); --sub:var(--text-muted); --accent:var(--text-accent); }
.cs-article h1,.cs-article h2,.cs-article h3,.cs-article h4 { color:var(--text-heading); }
.cs-article .cta h2,.cs-article .cta h3,.cs-article .cta p { color:#fff; }
.cs-article .meta-line,.art-meta,.form-note { font-size:var(--type-small); }
/* Semantic roles win over legacy per-page sizes. */
h1[class] { font-size:var(--type-page) !important; }
h1.hero-title,h1.ps-hero-title { font-size:var(--type-display) !important; }
p { font-size:var(--type-body); }
.contact-form-wrap > p,.contact-form-wrap .form-intro { font-size:var(--type-body) !important; }
.footer p,.footer-brand p,.site-footer p,.form-note,.cs-article .meta-line { font-size:var(--type-small) !important; }
.contact-method strong { font-weight:700; }
