/* Compact Nanosoft Group presentation. Loaded after the reference styles. */
:root {
  --compact-ink: #101b3c;
  --compact-blue: #3155ce;
  --compact-line: #dce2f1;
  --atom-office-photo: url('../images/office-generated.jpg?v=8ac36d0e5e9e');
}

html { scroll-padding-top: 128px; }
.site-header nav { height: 68px; }
.site-header .logo { font-size: 22px; letter-spacing: -.04em; line-height: 1; }
.site-header .logo small { margin-top: 5px; font-size: 8px; letter-spacing: .1em; }
.site-header .navlinks { gap: 16px; }
.site-header .navlinks a { font-size: 13px; white-space: nowrap; }
.site-header nav > .btn { padding: 12px 17px; white-space: nowrap; }
.sectionnav { top: 68px; }
.sectionnav .wrap { min-height: 50px; }
.sectionnav a { padding: 16px 0; }

.hero { min-height: 0; padding: 48px 0 52px; gap: 48px; }
.hero h1 { font-size: clamp(42px, 4.35vw, 61px); margin: 15px 0; }
.hero p { font-size: 16px; line-height: 1.6; }
.hero .actions { margin: 23px 0 18px; }
.screenstage { padding: 18px 0 28px; }
.screenbody { min-height: 305px; }
.proof { padding: 19px 0 22px; }

.section { padding-top: 56px; padding-bottom: 56px; scroll-margin-top: 128px; }
.sectionhead { margin-bottom: 25px; }
.sectionhead h2, .section h2 { font-size: clamp(30px, 3vw, 39px); }
.sectionhead p { line-height: 1.55; }
.introgrid, .industrygrid, .modulegrid { gap: 16px; }
.introart { height: 142px; }
.introart svg { width: 178px; height: 118px; }
.introbody, .industry, .module { padding: 22px; }
.introbody p { min-height: 0; line-height: 1.55; }
.tablist button { padding: 14px 18px; }
.tabcontent { min-height: 300px; padding: 28px; }
.flow { padding: 28px; }
.onboard { margin-top: 22px; }
.faq details, details { padding-top: 15px; padding-bottom: 15px; }
.support-callout { margin-top: 26px; margin-bottom: 26px; padding: 30px!important; }
.site-footer { padding-top: 42px; }
.footer-grid { gap: 18px; }

.new-hero .new-hero-grid { padding: 42px 54px 48px; gap: 42px; }
.new-hero h1 { font-size: clamp(40px, 4.15vw, 54px); }
.new-hero p { font-size: 16px; line-height: 1.6; }
.new-card-grid { gap: 16px; margin-top: 24px; }
.new-card { padding: 23px; }
.new-process { gap: 17px; margin-top: 24px; }
.new-cta { padding: 34px; }
.new-visual { padding: 24px; }
.new-visual .visual-row { padding: 13px 0; }

.editorial-lead { max-width: 780px; }
.editorial-lead p { font-size: 16px; line-height: 1.65; }
.editorial-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.editorial-link { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 15px; border: 1px solid #cbd6f1; border-radius: 7px; background: #fff; color: #2746b2; font-size: 14px; font-weight: 600; }
.editorial-link:hover { border-color: #3155ce; background: #f3f6ff; }
.editorial-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 35px; align-items: start; }
.editorial-panel { background: #fff; border: 1px solid var(--compact-line); border-radius: 15px; padding: 28px; }
.editorial-panel h3 { margin-top: 0; }
.editorial-panel p { font-size: 14px; }
.editorial-panel ul { padding-left: 20px; color: #53617b; line-height: 1.8; }
.editorial-note { border-left: 3px solid #3155ce; padding: 8px 0 8px 17px; color: #53617b; font-size: 14px; }
.route-card { display: flex; flex-direction: column; }
.route-card p { flex: 1; }
.route-card a { align-self: flex-start; }

@media (max-width: 1180px) {
  .site-header .navlinks { display: none; }
  .site-header .mobilemenu { display: block; }
  .site-header .navlinks.open { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 2px; max-height: calc(100vh - 100px); overflow-y: auto; background: #fff; padding: 14px 24px; box-shadow: 0 15px 30px #101b3c20; }
  .site-header .navlinks a { display: block; padding: 12px 4px; font-size: 15px; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 110px; }
  .site-header nav { height: 72px; }
  .sectionnav { top: 72px; }
  .hero { padding: 38px 0 35px; gap: 13px; }
  .hero h1 { font-size: clamp(39px, 11vw, 47px); }
  .screenbody { min-height: 270px; }
  .section { padding-top: 42px; padding-bottom: 42px; }
  .introart { height: 128px; }
  .introbody, .industry, .module { padding: 20px; }
  .new-hero .new-hero-grid { padding: 33px 22px 38px; }
  .new-card { padding: 20px; }
  .editorial-split { grid-template-columns: 1fr; gap: 18px; }
  .editorial-panel { padding: 22px; }
  .support-callout { padding: 25px!important; }
  .trademodules { grid-template-columns: 1fr; }
  body[data-page="industrii"] .new-hero .actions .btn { padding: 12px 11px; font-size: 12px; }
}
