
:root{
  --nks-navy:#071126;
  --nks-navy-2:#101B36;
  --nks-green:#00B86B;
  --nks-green-dark:#08724A;
  --nks-text:#182235;
  --nks-muted:#5D6878;
  --nks-line:#E5EAF0;
  --nks-soft:#F5F8F7;
  --nks-white:#FFFFFF;
  --nks-radius:16px;
  --nks-shadow:0 10px 30px rgba(7,17,38,.08);
  --nks-content:1120px;
  --nks-reading:860px;
}

body.nks-design-system,
body.nks-design-system input,
body.nks-design-system select,
body.nks-design-system textarea,
body.nks-design-system button{
  font-family:"Montserrat",Arial,sans-serif !important;
}

body.nks-design-system{
  color:var(--nks-text);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.nks-design-system img{max-width:100%;height:auto}

body.nks-design-system.nks-singular :is(.entry-header,.page-header,.post-header){
  width:min(var(--nks-content),calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
}

body.nks-design-system.nks-singular :is(.entry-content,.post-content,.page-content){
  width:min(var(--nks-content),calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
  padding-bottom:56px;
}

body.nks-design-system.nks-singular :is(.entry-title,.page-title,.post-title,main h1){
  color:var(--nks-navy) !important;
  -webkit-text-fill-color:var(--nks-navy) !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:clamp(34px,4.5vw,58px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:800;
  margin-top:0;
  margin-bottom:24px;
}

body.nks-design-system.nks-singular main h2{
  color:var(--nks-navy) !important;
  -webkit-text-fill-color:var(--nks-navy) !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:clamp(27px,3.2vw,40px);
  line-height:1.18;
  letter-spacing:-.025em;
  font-weight:800;
  margin:48px 0 18px;
}

body.nks-design-system.nks-singular main h3{
  color:var(--nks-navy-2) !important;
  -webkit-text-fill-color:var(--nks-navy-2) !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:clamp(21px,2.2vw,29px);
  line-height:1.25;
  font-weight:700;
  margin:34px 0 14px;
}

body.nks-design-system.nks-singular main :is(h4,h5,h6){
  color:var(--nks-navy-2) !important;
  -webkit-text-fill-color:var(--nks-navy-2) !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  line-height:1.3;
  font-weight:700;
}

body.nks-design-system.nks-singular :is(.entry-content,.post-content,.page-content,.elementor-widget-theme-post-content) :is(p,ul,ol,blockquote){
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:17px;
  line-height:1.75;
  letter-spacing:-.005em;
  color:var(--nks-text);
}

body.nks-design-system.nks-singular :is(.entry-content,.post-content,.page-content) > :is(p,ul,ol,blockquote,h2,h3,h4,h5,h6){
  max-width:var(--nks-reading);
  margin-left:auto;
  margin-right:auto;
}

body.nks-design-system.nks-singular main p{margin-top:0;margin-bottom:1.35em}
body.nks-design-system.nks-singular main ul,
body.nks-design-system.nks-singular main ol{padding-left:1.4em;margin-bottom:1.6em}
body.nks-design-system.nks-singular main li{margin:.45em 0}

body.nks-design-system.nks-singular main a:not(.button):not(.btn):not([class*="elementor-button"]){
  color:var(--nks-green-dark);
  text-decoration-color:rgba(8,114,74,.35);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

body.nks-design-system.nks-singular main a:not(.button):not(.btn):not([class*="elementor-button"]):hover{
  color:var(--nks-navy);
  text-decoration-color:var(--nks-green);
}

body.nks-design-system.nks-singular :is(.entry-content,.post-content,.page-content) > :is(img,figure,.wp-block-image){
  display:block;
  max-width:min(100%,var(--nks-content));
  margin:26px auto 34px;
}

body.nks-design-system.nks-singular main figure img,
body.nks-design-system.nks-singular main .wp-block-image img{
  border-radius:var(--nks-radius);
  box-shadow:var(--nks-shadow);
}

body.nks-design-system.nks-singular main figcaption{
  color:var(--nks-muted);
  font-size:12px;
  line-height:1.5;
  margin-top:8px;
  text-align:center;
}

body.nks-design-system.nks-singular main blockquote{
  padding:22px 24px;
  border-left:4px solid var(--nks-green);
  background:var(--nks-soft);
  border-radius:0 var(--nks-radius) var(--nks-radius) 0;
  color:var(--nks-navy);
  font-weight:600;
}

body.nks-design-system.nks-singular main table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid var(--nks-line);
  border-radius:14px;
  overflow:hidden;
  font-size:14px;
  line-height:1.5;
  box-shadow:0 5px 18px rgba(7,17,38,.04);
}

body.nks-design-system.nks-singular main th{
  background:var(--nks-navy);
  color:#fff !important;
  font-weight:700;
}

body.nks-design-system.nks-singular main :is(th,td){
  padding:13px 15px;
  border-bottom:1px solid var(--nks-line);
  vertical-align:top;
}

body.nks-design-system main :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="url"],select,textarea){
  background:#fff;
  color:var(--nks-text);
  border:1px solid #C9D2DC;
  border-radius:10px;
  padding:12px 14px;
  min-height:46px;
}

body.nks-design-system main :is(input,select,textarea):focus{
  outline:0;
  border-color:var(--nks-green);
  box-shadow:0 0 0 3px rgba(0,184,107,.12);
}

body.nks-design-system main :is(button,input[type="submit"],.button,.btn,.wp-element-button):not(.menu-toggle){
  border-radius:10px;
  font-weight:700;
}

body.nks-design-system.nks-legacy-layout :is(.entry-header,.page-header,.post-header){
  padding-top:34px;
}

.nks-visual-duplicate{display:none !important}

body.nks-design-system :focus-visible{
  outline:3px solid rgba(0,184,107,.45);
  outline-offset:3px;
}

@media(max-width:900px){
  body.nks-design-system.nks-singular :is(.entry-header,.page-header,.post-header,.entry-content,.post-content,.page-content){
    width:min(100% - 30px,var(--nks-content));
  }
  body.nks-design-system.nks-singular :is(.entry-content,.post-content,.page-content,.elementor-widget-theme-post-content) :is(p,ul,ol,blockquote){
    font-size:16.5px;
    line-height:1.7;
  }
}

@media(max-width:600px){
  body.nks-design-system.nks-singular :is(.entry-header,.page-header,.post-header,.entry-content,.post-content,.page-content){
    width:min(100% - 24px,var(--nks-content));
  }
  body.nks-design-system.nks-singular :is(.entry-title,.page-title,.post-title,main h1){
    font-size:clamp(30px,9vw,40px);
  }
  body.nks-design-system.nks-singular main h2{margin-top:38px}
  body.nks-design-system.nks-singular main table{font-size:12px}
}
