/**
 * SubletWorks — site-wide width + typography scale
 * Loaded last on homepage and via main.css on inner pages.
 */
:root {
  --site-container: min(1680px, 96vw);
  --site-container-wide: min(1720px, 96vw);
  --container-max: 1720px;
  --header-height: 80px;
}

html {
  font-size: 18px;
}

@media (max-width: 768px) {
  html {
    font-size: 16px;
  }
}

/* ---------- Wider layout ---------- */
.container {
  max-width: var(--site-container-wide) !important;
  padding-left: clamp(18px, 2.5vw, 36px) !important;
  padding-right: clamp(18px, 2.5vw, 36px) !important;
}

.nav-container,
.hero-container {
  max-width: var(--site-container) !important;
  padding-left: clamp(18px, 2.5vw, 36px) !important;
  padding-right: clamp(18px, 2.5vw, 36px) !important;
}

.calc-hubs-page,
.calc-section.tools-section .tools-layout,
.calc-section.tools-section .container,
.how-it-works .container,
.jobs-section__inner,
.features-section .container {
  max-width: var(--site-container) !important;
}

/* ---------- Main stack (main.css pages) ---------- */
.toolkit-page-header h1 {
  font-size: clamp(1.85rem, 3.5vw, 2.55rem) !important;
}

.toolkit-page-header p {
  font-size: 1.125rem !important;
}

.nav__link {
  font-size: 1rem !important;
  padding: 0.55rem 1rem !important;
}

.logo__name {
  font-size: 1.125rem !important;
}

.section-title {
  font-size: clamp(1.85rem, 3.2vw, 2.35rem) !important;
}

.section-subtitle {
  font-size: 1.0625rem !important;
}

.btn {
  font-size: 1rem !important;
  padding: 0.7rem 1.4rem !important;
}

.btn--lg {
  font-size: 1.0625rem !important;
  padding: 0.85rem 1.75rem !important;
}

.catalog-card__title,
.guides-card h3,
.training-card h3 {
  font-size: 1.125rem !important;
}

.catalog-card__desc,
.guides-card p {
  font-size: 0.9375rem !important;
}

/* ---------- Homepage / BuildBid ---------- */
.hero-title,
.hero__title {
  font-size: clamp(52px, 6.5vw, 72px) !important;
  line-height: 1.08 !important;
}

.hero-desc,
.hero__subtitle {
  font-size: clamp(18px, 2.2vw, 22px) !important;
  max-width: 580px !important;
}

.hero-badge > span {
  font-size: 14px !important;
}

.btn-hero-primary,
.btn-hero-secondary {
  font-size: 16px !important;
  padding: 17px 30px !important;
}

.hero-stat strong,
.hero-stat__value,
#home-hero-stats [data-stat-val] {
  font-size: 1.5rem !important;
}

.hero-stat span,
.hero-stat__label {
  font-size: 0.75rem !important;
}

.header .nav-links .nav__link,
.navbar .nav-links a {
  font-size: 15px !important;
}

.header.navbar .logo-build,
.header.navbar .logo-bid,
.nav-logo .logo-build {
  font-size: 1.375rem !important;
}

.text-center > .section-title,
.how-it-works .section-title,
.jobs-section .section-title,
.features-section .section-title,
.features-section #home-key-features-title,
.calc-section.tools-section .section-title,
.calc-section.tools-section .tools-title,
.overview-section .section-title,
.stories-section .stories-head__title,
.faq-section .section-title,
.categories-section .section-title,
.premium-card__title {
  font-size: clamp(38px, 4.8vw, 52px) !important;
}

.section-subtitle,
.how-it-works .section-desc,
.jobs-section .section-subtitle,
.features-section .section-subtitle,
.calc-section.tools-section .section-subtitle,
.calc-section.tools-section .tools-desc,
.stories-head__subtitle,
.premium-card__subtitle {
  font-size: clamp(18px, 2.1vw, 22px) !important;
  max-width: 720px !important;
}

.section-badge {
  font-size: 14px !important;
  padding: 9px 18px !important;
}

.feature-card__title,
.features-section .feature-card h3 {
  font-size: 1.25rem !important;
}

.feature-card__text,
.features-section .feature-card p {
  font-size: 1rem !important;
}

.story-card__title {
  font-size: 1.25rem !important;
}

.story-card__text {
  font-size: 1rem !important;
}

.footer-col h4 {
  font-size: 1.0625rem !important;
}

.footer-col a,
.footer-brand > p {
  font-size: 0.9375rem !important;
}

.snapshot-title {
  font-size: clamp(38px, 4.8vw, 50px) !important;
}

.snapshot-subtitle {
  font-size: 1.0625rem !important;
}

.cta-section .cta__title {
  font-size: clamp(1.75rem, 3.5vw, 2.35rem) !important;
}

/* ---------- Auth (login / register) ---------- */
.auth-page .auth-card {
  max-width: min(580px, 94vw) !important;
}

.auth-page .auth-card--wide {
  max-width: min(640px, 94vw) !important;
}

.auth-page .auth-card__title {
  font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
}

.auth-page .auth-card__subtitle,
.auth-page .auth-card__footer {
  font-size: 1.0625rem !important;
}

.auth-page .tab {
  font-size: 1rem !important;
  padding: 0.85rem 1rem !important;
}

.auth-page .form-label {
  font-size: 1rem !important;
}

.auth-page .form-input,
.auth-page .form-select {
  font-size: 1.0625rem !important;
  padding: 0.85rem 1.1rem !important;
}

/* ---------- Dashboard / admin / app shell ---------- */
.app-main,
.toolkit-main {
  max-width: var(--site-container-wide) !important;
}

.dash-welcome__title,
.app-topbar__title {
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
}

.dash-job-card__title {
  font-size: 1.0625rem !important;
}

.dash-job-card__company,
.dash-job-card__chip {
  font-size: 0.8125rem !important;
}

.table th,
.table td {
  font-size: 0.9375rem !important;
  padding: 0.85rem 1rem !important;
}

.admin-panel .section-title,
.admin-panel h2 {
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
}
