/*
 * Balance IT city typography contract v1
 * Shared type rhythm only. City composition, spacing and signature visuals stay local.
 */

@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:400;src:url('/fonts/plus-jakarta-sans-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:400;src:url('/fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:500;src:url('/fonts/plus-jakarta-sans-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:500;src:url('/fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:600;src:url('/fonts/plus-jakarta-sans-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:600;src:url('/fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:700;src:url('/fonts/plus-jakarta-sans-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:700;src:url('/fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:800 900;src:url('/fonts/plus-jakarta-sans-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:800 900;src:url('/fonts/plus-jakarta-sans-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

#main-content,
#main-content :where(h1,h2,h3,p,li,dt,dd,small,figcaption,a,button,label,input,textarea,select,summary,strong,em) {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

#main-content :where([data-city-type="h1"], #tor-hero-title) {
  font-size: 42px !important;
  line-height: .98 !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
}

#main-content :where(
  [data-city-type="h2"],
  #gdansk-manifest-title, #gdansk-evidence-title, #gdansk-process-title, #gdansk-stack-title, #gdansk-faq-title,
  #pzn-decision-title, #pzn-mechanism-title, #pzn-process-title, #pzn-stack-title, #pzn-faq-title,
  #rze-interface-title, #rze-evidence-title, #rze-delivery-title, #rze-stack-title, #rze-faq-title,
  #zakopane-decision-title, #zakopane-process-title, #zakopane-stack-title, #zakopane-faq-title,
  #war-decision-title, #war-evidence-title, #war-delivery-title, #war-stack-title, #war-faq-title,
  #sz-contract-title, #sz-evidence-title, #sz-handover-title, #sz-stack-title, #sz-faq-title,
  #tor-gate-title, #tor-evidence-title, #tor-delivery-title, #tor-stack-title, #tor-faq-title
) {
  font-size: 34px !important;
  line-height: 1.03 !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
}

#main-content :where([data-city-type="lead"], .tor-hero__lead) {
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}

#main-content :where(
  [data-city-type="body"],
  .gdansk-manifest__intro > p,
  .pzn-section-head > span,
  .rze-interface__layout > header > span,
  .zakopane-decision__header > p,
  .war-decision__intro > p,
  .sz-contract__intro > p:not(.sz-kicker)
) {
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}

#main-content [data-city-type="eyebrow"] {
  font-size: 11px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

#main-content [data-city-type="cta"] {
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: normal !important;
}

#main-content :where(
  [data-city-type="metadata"],
  .gdansk-hero__visual figcaption,
  .pzn-hero__copy > small,
  .rze-hero__visual figcaption,
  .zakopane-atlas__source-links,
  .war-hero__visual figcaption,
  .sz-status
) {
  font-size: 11px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
}

@media (min-width: 640px) {
  #main-content :where([data-city-type="h1"], #tor-hero-title) { font-size: 46px !important; }
  #main-content :where(
    [data-city-type="h2"],
    #gdansk-manifest-title, #gdansk-evidence-title, #gdansk-process-title, #gdansk-stack-title, #gdansk-faq-title,
    #pzn-decision-title, #pzn-mechanism-title, #pzn-process-title, #pzn-stack-title, #pzn-faq-title,
    #rze-interface-title, #rze-evidence-title, #rze-delivery-title, #rze-stack-title, #rze-faq-title,
    #zakopane-decision-title, #zakopane-process-title, #zakopane-stack-title, #zakopane-faq-title,
    #war-decision-title, #war-evidence-title, #war-delivery-title, #war-stack-title, #war-faq-title,
    #sz-contract-title, #sz-evidence-title, #sz-handover-title, #sz-stack-title, #sz-faq-title,
    #tor-gate-title, #tor-evidence-title, #tor-delivery-title, #tor-stack-title, #tor-faq-title
  ) { font-size: 38px !important; }
  #main-content :where([data-city-type="lead"], .tor-hero__lead) { font-size: 17px !important; }
  #main-content :where([data-city-type="body"], .gdansk-manifest__intro > p, .pzn-section-head > span, .rze-interface__layout > header > span, .zakopane-decision__header > p, .war-decision__intro > p, .sz-contract__intro > p:not(.sz-kicker)) { font-size: 16px !important; }
  #main-content [data-city-type="eyebrow"] { font-size: 12px !important; }
  #main-content [data-city-type="cta"] { font-size: 14px !important; line-height: 1.3 !important; }
  #main-content :where([data-city-type="metadata"], .gdansk-hero__visual figcaption, .pzn-hero__copy > small, .rze-hero__visual figcaption, .zakopane-atlas__source-links, .war-hero__visual figcaption, .sz-status) { font-size: 12px !important; }
}

@media (min-width: 1024px) {
  #main-content :where([data-city-type="h1"], #tor-hero-title) { font-size: 48px !important; }
  #main-content :where([data-city-type="h2"], #gdansk-manifest-title, #gdansk-evidence-title, #gdansk-process-title, #gdansk-stack-title, #gdansk-faq-title, #pzn-decision-title, #pzn-mechanism-title, #pzn-process-title, #pzn-stack-title, #pzn-faq-title, #rze-interface-title, #rze-evidence-title, #rze-delivery-title, #rze-stack-title, #rze-faq-title, #zakopane-decision-title, #zakopane-process-title, #zakopane-stack-title, #zakopane-faq-title, #war-decision-title, #war-evidence-title, #war-delivery-title, #war-stack-title, #war-faq-title, #sz-contract-title, #sz-evidence-title, #sz-handover-title, #sz-stack-title, #sz-faq-title, #tor-gate-title, #tor-evidence-title, #tor-delivery-title, #tor-stack-title, #tor-faq-title) { font-size: 40px !important; }
}

@media (min-width: 1200px) {
  #main-content :where([data-city-type="h1"], #tor-hero-title) { font-size: 54px !important; }
  #main-content :where([data-city-type="h2"], #gdansk-manifest-title, #gdansk-evidence-title, #gdansk-process-title, #gdansk-stack-title, #gdansk-faq-title, #pzn-decision-title, #pzn-mechanism-title, #pzn-process-title, #pzn-stack-title, #pzn-faq-title, #rze-interface-title, #rze-evidence-title, #rze-delivery-title, #rze-stack-title, #rze-faq-title, #zakopane-decision-title, #zakopane-process-title, #zakopane-stack-title, #zakopane-faq-title, #war-decision-title, #war-evidence-title, #war-delivery-title, #war-stack-title, #war-faq-title, #sz-contract-title, #sz-evidence-title, #sz-handover-title, #sz-stack-title, #sz-faq-title, #tor-gate-title, #tor-evidence-title, #tor-delivery-title, #tor-stack-title, #tor-faq-title) { font-size: 44px !important; }
  #main-content :where([data-city-type="lead"], .tor-hero__lead) { font-size: 18px !important; }
}
