/* KROMA Typography & Contrast System v0.7
   Architectural / engineering visual system: high legibility, measured hierarchy, no washed-out microcopy. */
:root{
  --blue:#0a568f;
  --blue2:#0d67aa;
  --navy:#061d33;
  --ink:#102538;
  --muted:#4d6477;
  --line:#d5e0e8;
  --soft:#f3f6f8;
  --k-light:#f7fbff;
  --k-light-2:#d8e6f0;
  --k-light-3:#b9cfde;
  --k-accent-light:#8fd0f6;
  --k-dark:#102538;
  --k-dark-2:#425a6d;
  --k-dark-3:#50697d;
}
html{font-size:16px}
body{
  color:var(--k-dark);
  line-height:1.62;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
p{font-size:16px}
h1,h2,h3,h4,strong,b{text-wrap:balance}
h1,h2,h3{font-weight:720}

/* Header: deliberately crisp/light, separated from the technical dark canvas */
.site-header,
.home-premium .premium-header{
  height:82px;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:none;
}
.brand strong,
.home-premium .premium-brand strong{
  color:var(--navy)!important;
  font-size:18px;
  letter-spacing:.13em;
}
.brand small,
.home-premium .premium-brand small{
  color:#50697d!important;
  font-size:10.5px!important;
  line-height:1.2;
  letter-spacing:.16em;
  margin-top:5px;
}
.home-premium .premium-header .premium-brand .brand-mark-img img{filter:none}
.nav,.home-premium .premium-header .nav{
  font-size:14px;
  font-weight:750;
}
.nav a,
.home-premium .premium-header .nav>a:not(.nav-cta){
  color:#173048!important;
}
.nav a:hover,
.home-premium .premium-header .nav>a:not(.nav-cta):hover{color:var(--blue)!important}
.nav-cta,
.home-premium .premium-header .nav-cta{
  background:var(--navy)!important;
  color:#fff!important;
  border-color:var(--navy)!important;
  min-height:48px;
  padding:13px 19px;
}

/* System labels — never micro-sized */
.eyebrow,.section-kicker,.section-kicker.light,
.case-type,.product-tag,.visual-label,
.home-premium .hero-premium .eyebrow,
.home-premium .section-kicker,
.home-premium .section-kicker.light{
  font-size:12.5px!important;
  line-height:1.45;
  letter-spacing:.12em!important;
  font-weight:820!important;
}
.section-kicker,.eyebrow,.case-type,.product-tag,.visual-label{color:var(--blue)}
.section-kicker.light,.method .section-kicker.light,
.home-premium .section-kicker.light{color:var(--k-accent-light)!important}

/* Global controls */
.btn,
.home-premium .btn{
  min-height:52px;
  font-size:14.5px!important;
  line-height:1.2;
  font-weight:780;
  letter-spacing:.005em;
}
.text-link,.back{font-size:14px!important;font-weight:780}

/* Default muted content on light surfaces */
.intro p,.section-head p,.service-grid p,.case-copy p,.case-grid p,
.person>div:last-child>p:last-child,.roncao-copy p,.proof-note,
.timeline-pro p,.faq p,.side-note span,.deliver-grid p,.retail-card p,
.feature-flow p,.cta-product p,.case-hero p,.bio-hero p,.local-hero p,
.service-hero p,.retail-hero p{
  color:var(--k-dark-2)!important;
}
.service-grid p,.case-grid p,.deliver-grid p,.feature-flow p,
.local-services p,.local-cases p{font-size:15px!important;line-height:1.62}

/* Generic dark surfaces */
.method p,.contact p,.software-copy p,.product-hero p,.case-band p,
.expertise p,.proof-box p,.retail-stat span,
.home-premium .hero-lead,
.home-premium .premium-method-heading p,
.home-premium .premium-software p,
.home-premium .premium-contact-copy>p{
  color:var(--k-light-2)!important;
}

/* HOME — calmer headline, stronger supporting typography */
.home-premium .hero-premium h1{
  font-size:clamp(52px,4.8vw,76px)!important;
  line-height:.99!important;
  letter-spacing:-.047em!important;
  max-width:720px;
}
.home-premium .hero-premium h1 em{color:#8acbf2!important}
.home-premium .hero-premium .hero-lead{
  font-size:18px!important;
  line-height:1.66;
  max-width:650px;
}
.home-premium .hero-kroma-copy{padding-top:58px;padding-bottom:48px}
.home-premium .hero-proof-premium{
  margin-top:46px;
  padding-top:22px;
  gap:28px;
}
.home-premium .hero-proof-premium strong{
  font-size:20px!important;
  line-height:1.2;
  color:#fff!important;
}
.home-premium .hero-proof-premium span{
  font-size:13.5px!important;
  line-height:1.45;
  color:var(--k-light-2)!important;
  letter-spacing:0!important;
  font-weight:500;
  max-width:190px;
}

/* Right technical panel */
.home-premium .identity-tag span{
  font-size:13px!important;
  line-height:1.2;
  letter-spacing:.17em!important;
  color:#fff!important;
}
.home-premium .identity-tag small{
  font-size:11.5px!important;
  line-height:1.3;
  letter-spacing:.14em!important;
  color:#b7d6e9!important;
}
.home-premium .identity-statement>span{
  font-size:12px!important;
  line-height:1.45;
  letter-spacing:.12em!important;
  color:#a9d8f4!important;
}
.home-premium .identity-statement>strong{
  font-size:clamp(42px,3.7vw,58px)!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
}
.home-premium .identity-process b{
  font-size:12px!important;
  color:#8fd0f6!important;
  letter-spacing:.10em!important;
}
.home-premium .identity-process span{
  font-size:13px!important;
  line-height:1.3;
  color:#f3f9fd!important;
  letter-spacing:.07em!important;
}
.home-premium .identity-footer{
  font-size:11px!important;
  line-height:1.35;
  color:#b9cfde!important;
  letter-spacing:.07em!important;
}

/* Home sections */
.home-premium .premium-service-grid article>b{
  font-size:12px!important;
  color:var(--blue)!important;
}
.home-premium .premium-service-grid p{font-size:15.5px!important;color:var(--k-dark-2)!important}
.home-premium .method-topline{
  font-size:12px!important;
  color:#bdd3e2!important;
  letter-spacing:.11em!important;
}
.home-premium .premium-method-flow b{font-size:12px!important;color:#8fd0f6!important}
.home-premium .premium-method-flow span{font-size:18px}
.home-premium .premium-method-flow small{
  font-size:13px!important;
  line-height:1.45;
  color:#bfd3e1!important;
}
.home-premium .case-meta small,
.home-premium .premium-case-data>small{
  font-size:12px!important;
  color:#d0e6f5!important;
  letter-spacing:.11em!important;
}
.home-premium .case-meta p{font-size:14.5px!important;color:#edf5fa!important}
.home-premium .case-meta b,
.home-premium .premium-case-data>b{
  font-size:12px!important;
  letter-spacing:.09em!important;
}
.home-premium .premium-case-data p{font-size:14px!important;color:#e2f0f8!important}
.home-premium .premium-case-notes span{font-size:12px!important;color:#0a568f!important}
.home-premium .premium-case-notes p{font-size:14.5px!important;color:var(--k-dark-2)!important}
.home-premium .screen-bar span,
.home-premium .screen-kpis span{
  font-size:11.5px!important;
  color:#526779!important;
}
.home-premium .premium-person-photo span{
  font-size:11.5px!important;
  color:var(--navy)!important;
}
.home-premium .contact-signature{font-size:13px!important}
.home-premium .contact-signature small{font-size:11.5px!important;color:#bdd3e2!important}
.home-premium .premium-contact label{
  font-size:12.5px!important;
  color:#d7e6f0!important;
}
.home-premium .premium-contact small{
  font-size:12.5px!important;
  line-height:1.45;
  color:#bad0df!important;
}
.home-premium .premium-contact input,
.home-premium .premium-contact select,
.home-premium .premium-contact textarea{
  font-size:16px!important;
  color:#fff!important;
  border-color:#4b708e!important;
}
.home-premium .premium-contact input::placeholder,
.home-premium .premium-contact textarea::placeholder{color:#adc5d6!important}

/* Internal pages — facts, evidence, credentials */
.case-facts dt,.credential-grid dt{
  font-size:12px!important;
  line-height:1.4;
  letter-spacing:.09em!important;
  color:var(--k-dark-3)!important;
  font-weight:760;
}
.case-facts dd,.credential-grid dd{font-size:16px}
.scope-list div{
  font-size:15px!important;
  line-height:1.45;
  color:#f2f8fc!important;
}
.evidence-grid span{
  font-size:13.5px!important;
  color:var(--k-dark-2)!important;
}
.proof-note{font-size:15px!important}
.local-proof span{
  font-size:13px!important;
  color:var(--k-dark-2)!important;
}
.local-services b,.expertise-list b,.deliver-grid b,.retail-flow-grid b,.feature-flow b{
  font-size:12.5px!important;
  line-height:1.3;
  letter-spacing:.06em;
}
.local-services p{color:var(--k-light-2)!important}
.local-cases span{
  font-size:12px!important;
  color:var(--k-dark-3)!important;
  letter-spacing:.09em!important;
}
.product-tag{color:var(--k-accent-light)!important}
.feature-flow p,.deliver-grid p{font-size:15px!important}
.retail-stat span{font-size:15px!important}
.ui-top b{font-size:11.5px!important;color:#526779!important}
.ui-metrics b{font-size:12.5px!important;color:#21384d!important}
.experience-photos figcaption{font-size:13.5px!important;color:var(--k-dark)!important}
.experience-photos figcaption span{color:var(--k-dark-2)!important}
.site-photo-gallery figcaption{
  font-size:13px!important;
  line-height:1.35;
  background:rgba(6,29,51,.94)!important;
}

/* Contact on all pages */
.contact label{
  font-size:12.5px!important;
  color:#d8e6f0!important;
  font-weight:730;
}
.contact small{
  font-size:12.5px!important;
  color:#bad0df!important;
}
.contact input,.contact select,.contact textarea{
  font-size:16px!important;
  border-color:#4b708e!important;
}
.contact input::placeholder,.contact textarea::placeholder{color:#adc5d6}

/* Footer */
footer,.premium-footer{font-size:13.5px!important}
footer>div:not(.footer-bottom) span,
.footer-bottom,
.home-premium .premium-footer .footer-brand-block>p,
.home-premium .premium-footer>div:not(.footer-bottom)>a{
  color:var(--k-dark-2)!important;
  font-size:13.5px!important;
  line-height:1.5;
}

/* Floating action: readable, but never over the first-fold technical panel */
.floating-contact{
  font-size:13.5px!important;
  min-height:50px;
}

/* Mobile keeps the same legibility floor */
@media(max-width:900px){
  .home-premium .premium-header{
    height:74px;
    background:#fff!important;
    border-bottom:1px solid var(--line)!important;
  }
  .home-premium .premium-header .nav{
    top:73px!important;
    background:#fff!important;
    border:1px solid var(--line)!important;
  }
  .home-premium .premium-header .nav>a:not(.nav-cta){color:#173048!important}
}
@media(max-width:620px){
  .home-premium .hero-premium h1{font-size:clamp(43px,12vw,56px)!important}
  .home-premium .hero-premium .hero-lead{font-size:16.5px!important}
  .home-premium .hero-proof-premium span{font-size:13px!important;max-width:none}
  .home-premium .identity-footer{font-size:10.5px!important}
  .home-premium .premium-header .menu-toggle{color:var(--navy)!important;border-color:var(--line)!important}
  .brand small,.home-premium .premium-brand small{font-size:9.5px!important}
}


/* v0.7.1 — hard legibility floor for remaining legacy selectors */
body small{font-size:12px!important}
.brand small,.home-premium .premium-brand small{font-size:12px!important}
.process-list b,.method-flow b,.service-grid article>span,.case-grid span,.case-copy dt{
  font-size:12px!important;
}
.process-list span,.method-flow span{font-size:15px}
.method-flow i{color:#b7cde0!important}
.case-copy dt{
  color:var(--k-dark-3)!important;
  font-weight:760;
  letter-spacing:.08em!important;
}
.case-grid span{color:var(--blue)!important;letter-spacing:.07em}
.proof-strip span{font-size:13.5px!important;color:var(--k-dark-2)!important}
.home-premium .identity-tag small,
.home-premium .identity-footer,
.home-premium .screen-bar span,
.home-premium .screen-kpis span{font-size:12px!important}
@media(max-width:620px){
  .brand small,.home-premium .premium-brand small,
  .home-premium .identity-footer{font-size:12px!important}
}

