/* NORTH WRAP Gutenberg/Home Blocks */
.nw-home{background:#030303;color:#fff}.nw-home .nw-container{width:min(1280px,calc(100% - 64px));margin:auto}.nw-home-section{padding:74px 0}.nw-section-title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.nw-section-title small{display:block;color:var(--nw-accent);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.nw-section-title h2{margin:0;font-size:clamp(34px,4.4vw,64px);line-height:.94;text-transform:uppercase;letter-spacing:-.05em}.nw-section-title h2 span{color:var(--nw-accent)}.nw-more{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.nw-more:after{content:' →';color:var(--nw-accent)}.nw-services{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.nw-service-card{min-height:220px;border:1px solid var(--nw-border);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));padding:32px 24px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.nw-service-card:hover{border-color:rgba(255,75,22,.7);transform:translateY(-2px)}.nw-service-card .nw-icon{font-size:38px;color:var(--nw-accent);line-height:1}.nw-service-card h3{font-size:18px;margin:20px 0 10px;letter-spacing:-.02em;text-transform:uppercase}.nw-service-card p{font-size:14px;color:#c8c8c8;margin:0}.nw-service-card a{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-top:22px}.nw-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.nw-project-card{position:relative;border:1px solid var(--nw-border);background:#080808;overflow:hidden}.nw-project-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:.35s}.nw-project-card:hover img{transform:scale(1.04)}.nw-project-card__body{padding:22px}.nw-project-card small{color:var(--nw-accent);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.nw-project-card h3{font-size:22px;margin:6px 0 4px;text-transform:none;letter-spacing:-.02em}.nw-project-card p{font-size:14px;color:#bfbfbf;margin:0}.nw-trust{border:1px solid var(--nw-border);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.025)}.nw-trust-item{padding:26px 22px;border-right:1px solid var(--nw-border)}.nw-trust-item:last-child{border-right:0}.nw-trust-item strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.nw-trust-item span{display:block;margin-top:6px;font-size:13px;color:#aaa}.nw-trust-item:before{content:'◆';display:block;color:var(--nw-accent);margin-bottom:12px}.nw-cta-banner{position:relative;overflow:hidden;border:1px solid var(--nw-border);min-height:310px;background:#080808}.nw-cta-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.nw-cta-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.45))}.nw-cta-banner__content{position:relative;z-index:2;padding:48px;max-width:680px}.nw-cta-banner small{color:var(--nw-accent);font-weight:950;text-transform:uppercase;letter-spacing:.12em}.nw-cta-banner h2{margin:8px 0 18px;font-size:clamp(36px,4vw,62px);line-height:.92;text-transform:uppercase;letter-spacing:-.05em}.nw-cta-banner h2 span{color:var(--nw-accent)}.nw-cta-banner p{color:#ddd;max-width:520px}.nw-cta-banner .nw-btn{margin-top:18px}
@media(max-width:1080px){.nw-services{grid-template-columns:repeat(2,1fr)}.nw-projects{grid-template-columns:1fr}.nw-trust{grid-template-columns:repeat(2,1fr)}.nw-trust-item{border-right:0;border-bottom:1px solid var(--nw-border)}}
@media(max-width:620px){.nw-home .nw-container{width:min(100% - 28px,1280px)}.nw-services,.nw-trust{grid-template-columns:1fr}.nw-section-title{display:grid}.nw-cta-banner__content{padding:30px 22px}.nw-home-section{padding:48px 0}}
/* v2 standalone customer theme */
.nw-header{background:color-mix(in srgb,var(--nw-header-bg,#000) 86%,transparent)}
.nw-footer{background:var(--nw-footer-bg,#030303)}


/* ===== v2.0.3 homepage layout + slider visibility repair ===== */
.nw-content--front{
  width:100%;
  max-width:none;
  margin:0;
  background:var(--nw-bg,#030303);
  overflow:hidden;
}
.nw-content--front > .nw-home,
.nw-content--front > .wp-block-group.nw-home{
  width:100%;
  max-width:none;
  margin:0;
}
.nw-home-section{
  padding:var(--nw-section-pad,78px) 0!important;
}
.nw-home-section > .nw-container,
.nw-home .nw-container,
.nw-section-title,
.nw-services,
.nw-projects,
.nw-trust,
.nw-cta-banner{
  width:min(var(--nw-container,1280px),calc(100% - 64px))!important;
  max-width:var(--nw-container,1280px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.nw-services.wp-block-columns,
.wp-block-columns.nw-services,
.nw-home .nw-services{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.nw-services > .wp-block-column,
.nw-services > *{
  min-width:0!important;
  margin:0!important;
}
.nw-service-card,
.wp-block-group.nw-service-card{
  min-height:220px!important;
  border:1px solid var(--nw-border)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))!important;
  padding:32px 24px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.nw-projects.wp-block-columns,
.wp-block-columns.nw-projects,
.nw-home .nw-projects{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
.nw-projects > .wp-block-column,
.nw-projects > *{
  min-width:0!important;
  margin:0!important;
}
.nw-trust.wp-block-columns,
.wp-block-columns.nw-trust,
.nw-home .nw-trust{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.nw-trust > .wp-block-column,
.nw-trust > *{
  min-width:0!important;
  margin:0!important;
}
.nw-section-title h2{
  max-width:950px;
}
@media(max-width:1080px){
  .nw-services.wp-block-columns,
  .wp-block-columns.nw-services,
  .nw-home .nw-services{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nw-projects.wp-block-columns,
  .wp-block-columns.nw-projects,
  .nw-home .nw-projects{grid-template-columns:1fr!important}
  .nw-trust.wp-block-columns,
  .wp-block-columns.nw-trust,
  .nw-home .nw-trust{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .nw-home-section > .nw-container,
  .nw-home .nw-container,
  .nw-section-title,
  .nw-services,
  .nw-projects,
  .nw-trust,
  .nw-cta-banner{
    width:min(100% - 28px,var(--nw-container,1280px))!important;
  }
  .nw-services.wp-block-columns,
  .wp-block-columns.nw-services,
  .nw-home .nw-services,
  .nw-trust.wp-block-columns,
  .wp-block-columns.nw-trust,
  .nw-home .nw-trust{grid-template-columns:1fr!important}
}


/* ===== v2.0.4 mockup home layout repair ===== */

/* Front page canvas */
body.home .nw-main,
body.front-page .nw-main,
body.home .nw-content--front,
body.front-page .nw-content--front {
  background:
    radial-gradient(circle at right 12%, rgba(255,75,22,.12), transparent 32%),
    linear-gradient(180deg, #030303 0%, #050505 100%) !important;
  overflow:hidden;
}

/* Normalize imported Gutenberg content on the start page */
body.home .nw-content--front > *,
body.front-page .nw-content--front > * {
  max-width:none !important;
}

/* Section spacing like the mockup */
body.home .nw-home-section,
body.front-page .nw-home-section,
body.home .wp-block-group.nw-home-section,
body.front-page .wp-block-group.nw-home-section {
  padding: clamp(56px, 6vw, 86px) 0 !important;
  margin: 0 !important;
  border-top: 1px solid rgba(255,255,255,.08);
}

/* Main container alignment */
body.home .nw-home .nw-container,
body.front-page .nw-home .nw-container,
body.home .nw-content--front .nw-container,
body.front-page .nw-content--front .nw-container,
body.home .wp-block-group.nw-container,
body.front-page .wp-block-group.nw-container {
  width: min(var(--nw-container,1280px), calc(100% - 64px)) !important;
  max-width: var(--nw-container,1280px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Section title */
body.home .nw-section-title,
body.front-page .nw-section-title {
  width: min(var(--nw-container,1280px), calc(100% - 64px)) !important;
  max-width: var(--nw-container,1280px) !important;
  margin: 0 auto 32px !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-end !important;
  gap:28px !important;
}
body.home .nw-section-title small,
body.front-page .nw-section-title small {
  display:block !important;
  color:var(--nw-accent,#ff4b16) !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
  margin:0 0 10px !important;
}
body.home .nw-section-title h2,
body.front-page .nw-section-title h2 {
  color:#fff !important;
  margin:0 !important;
  max-width:920px !important;
  font-family:Impact,"Arial Black",Inter,Arial,sans-serif !important;
  font-size:clamp(38px,4.7vw,74px) !important;
  line-height:.92 !important;
  letter-spacing:-.045em !important;
  text-transform:uppercase !important;
}
body.home .nw-section-title h2 span,
body.front-page .nw-section-title h2 span {
  color:var(--nw-accent,#ff4b16) !important;
}

/* SERVICES: Force real cards instead of full-width rows */
body.home .nw-services,
body.front-page .nw-services,
body.home .wp-block-columns.nw-services,
body.front-page .wp-block-columns.nw-services,
body.home .wp-block-group.nw-services,
body.front-page .wp-block-group.nw-services {
  width: min(var(--nw-container,1280px), calc(100% - 64px)) !important;
  max-width: var(--nw-container,1280px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

/* Undo WP columns layout inside our grid */
body.home .nw-services > .wp-block-column,
body.front-page .nw-services > .wp-block-column,
body.home .nw-services > .wp-block-group,
body.front-page .nw-services > .wp-block-group,
body.home .nw-services > article,
body.front-page .nw-services > article {
  flex-basis:auto !important;
  flex-grow:0 !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
}

/* If the service-card class is on the inner group, make the outer WP column transparent */
body.home .nw-services > .wp-block-column,
body.front-page .nw-services > .wp-block-column {
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}

/* Actual service card */
body.home .nw-service-card,
body.front-page .nw-service-card,
body.home .wp-block-group.nw-service-card,
body.front-page .wp-block-group.nw-service-card,
body.home .nw-services > article,
body.front-page .nw-services > article {
  min-height:220px !important;
  height:100% !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025)),
    rgba(8,8,8,.72) !important;
  padding:30px 24px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  box-shadow:none !important;
  transition:border-color .2s ease, transform .2s ease, background .2s ease !important;
}
body.home .nw-service-card:hover,
body.front-page .nw-service-card:hover {
  border-color:rgba(255,75,22,.75) !important;
  transform:translateY(-2px);
}
body.home .nw-service-card .nw-icon,
body.front-page .nw-service-card .nw-icon,
body.home .nw-service-card i,
body.front-page .nw-service-card i {
  color:var(--nw-accent,#ff4b16) !important;
  font-size:38px !important;
  line-height:1 !important;
  margin-bottom:20px !important;
}
body.home .nw-service-card h3,
body.front-page .nw-service-card h3,
body.home .nw-services h3,
body.front-page .nw-services h3 {
  margin:0 0 10px !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1.15 !important;
  letter-spacing:-.02em !important;
  text-transform:uppercase !important;
}
body.home .nw-service-card p,
body.front-page .nw-service-card p {
  margin:0 !important;
  color:#c8c8c8 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
body.home .nw-service-card a,
body.front-page .nw-service-card a {
  margin-top:22px !important;
  display:inline-block !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  text-decoration:none !important;
}
body.home .nw-service-card a:hover,
body.front-page .nw-service-card a:hover {
  color:var(--nw-accent,#ff4b16) !important;
}

/* PROJECTS grid */
body.home .nw-projects,
body.front-page .nw-projects,
body.home .wp-block-columns.nw-projects,
body.front-page .wp-block-columns.nw-projects {
  width:min(var(--nw-container,1280px),calc(100% - 64px)) !important;
  max-width:var(--nw-container,1280px) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
}
body.home .nw-projects > .wp-block-column,
body.front-page .nw-projects > .wp-block-column {
  width:auto !important;
  margin:0 !important;
  min-width:0 !important;
}

/* TRUST bar */
body.home .nw-trust,
body.front-page .nw-trust,
body.home .wp-block-columns.nw-trust,
body.front-page .wp-block-columns.nw-trust {
  width:min(var(--nw-container,1280px),calc(100% - 64px)) !important;
  max-width:var(--nw-container,1280px) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}

/* CTA banner */
body.home .nw-cta-banner,
body.front-page .nw-cta-banner {
  width:min(var(--nw-container,1280px),calc(100% - 64px)) !important;
  max-width:var(--nw-container,1280px) !important;
  margin:0 auto !important;
}

/* Prevent full-width row artifacts */
body.home .nw-home-section > .wp-block-columns:not(.nw-services):not(.nw-projects):not(.nw-trust),
body.front-page .nw-home-section > .wp-block-columns:not(.nw-services):not(.nw-projects):not(.nw-trust) {
  width:min(var(--nw-container,1280px),calc(100% - 64px)) !important;
  max-width:var(--nw-container,1280px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Responsive */
@media (max-width:1180px){
  body.home .nw-services,
  body.front-page .nw-services,
  body.home .wp-block-columns.nw-services,
  body.front-page .wp-block-columns.nw-services {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.home .nw-projects,
  body.front-page .nw-projects {
    grid-template-columns:1fr !important;
  }
  body.home .nw-trust,
  body.front-page .nw-trust {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:680px){
  body.home .nw-home .nw-container,
  body.front-page .nw-home .nw-container,
  body.home .nw-content--front .nw-container,
  body.front-page .nw-content--front .nw-container,
  body.home .wp-block-group.nw-container,
  body.front-page .wp-block-group.nw-container,
  body.home .nw-section-title,
  body.front-page .nw-section-title,
  body.home .nw-services,
  body.front-page .nw-services,
  body.home .nw-projects,
  body.front-page .nw-projects,
  body.home .nw-trust,
  body.front-page .nw-trust,
  body.home .nw-cta-banner,
  body.front-page .nw-cta-banner {
    width:min(100% - 30px,var(--nw-container,1280px)) !important;
  }
  body.home .nw-section-title,
  body.front-page .nw-section-title {
    display:grid !important;
  }
  body.home .nw-services,
  body.front-page .nw-services,
  body.home .wp-block-columns.nw-services,
  body.front-page .wp-block-columns.nw-services,
  body.home .nw-trust,
  body.front-page .nw-trust {
    grid-template-columns:1fr !important;
  }
}


/* ===== v2.0.5 all page templates + imports ===== */
.nw-page-layout{
  width:100%;
  max-width:none;
  margin:0;
  background:
    radial-gradient(circle at right top,rgba(255,75,22,.10),transparent 34%),
    var(--nw-bg,#030303);
  color:#fff;
  overflow:hidden;
}
.nw-page-layout .nw-container,
.nw-page-section > .nw-container{
  width:min(var(--nw-container,1280px),calc(100% - 64px));
  max-width:var(--nw-container,1280px);
  margin-left:auto;
  margin-right:auto;
}
.nw-page-section{
  padding:var(--nw-section-pad,78px) 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.nw-page-section--intro{
  padding-top:clamp(74px,8vw,122px);
  padding-bottom:clamp(52px,6vw,86px);
}
.nw-page-section--dark{
  background:linear-gradient(180deg,#060606,#0b0b0b);
}
.nw-page-layout .nw-eyebrow,
.nw-page-header .nw-eyebrow{
  color:var(--nw-accent,#ff4b16);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:0 0 12px;
}
.nw-page-layout h1,
.nw-page-layout h2,
.nw-page-layout h3,
.nw-page-header h1{
  color:#fff;
  font-family:Impact,"Arial Black",Inter,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:-.045em;
  line-height:.94;
}
.nw-page-layout h1{font-size:clamp(46px,6vw,96px);max-width:1050px;margin:0 0 24px}
.nw-page-layout h2{font-size:clamp(36px,4.4vw,72px);margin:0 0 20px}
.nw-page-layout h3{font-size:24px;margin:0 0 12px}
.nw-page-layout h1 span,.nw-page-layout h2 span{color:var(--nw-accent,#ff4b16)}
.nw-page-layout p{color:var(--nw-muted,#b9b9b9);font-size:16px;line-height:1.7}
.nw-page-layout .nw-lead{font-size:clamp(18px,1.45vw,23px);max-width:900px;color:#d4d4d4}
.nw-two-col{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:54px;
  align-items:center;
}
.nw-two-col--reverse{grid-template-columns:.95fr 1.05fr}
.nw-panel,
.nw-feature-grid article,
.nw-service-detail-grid article,
.nw-reference-card,
.nw-contact-card,
.nw-calculator-frame{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.14);
  padding:30px;
}
.nw-image-panel{
  min-height:430px;
  border:1px solid rgba(255,75,22,.32);
  background:
    radial-gradient(circle at right center,rgba(255,75,22,.55),transparent 42%),
    linear-gradient(135deg,#070707,#180704);
  position:relative;
  overflow:hidden;
}
.nw-image-panel:before{
  content:"";
  position:absolute;
  inset:-20%;
  background:linear-gradient(120deg,transparent 42%,rgba(255,75,22,.75) 43%,transparent 45%,rgba(255,255,255,.18) 47%,transparent 49%);
  transform:rotate(-8deg);
}
.nw-image-panel .nw-ghost{
  position:absolute;
  left:-20px;
  top:80px;
  font-family:Impact,"Arial Black";
  font-size:82px;
  line-height:.9;
  color:rgba(255,255,255,.08);
  text-transform:uppercase;
}
.nw-image-panel .nw-rebrand{
  position:absolute;
  right:52px;
  top:150px;
  color:#fff;
  font-family:Impact,"Arial Black";
  font-size:54px;
  line-height:.9;
  text-transform:uppercase;
}
.nw-image-panel .nw-rebrand span{color:var(--nw-accent,#ff4b16)}
.nw-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.nw-feature-grid article span,
.nw-service-detail-grid article span,
.nw-process-grid b{
  display:block;
  color:var(--nw-accent,#ff4b16);
  font-family:Impact,"Arial Black";
  font-size:34px;
  margin-bottom:18px;
}
.nw-check-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.nw-check-list li{color:#fff;font-weight:800}
.nw-check-list li:before{content:"◆";color:var(--nw-accent,#ff4b16);margin-right:10px}
.nw-service-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.nw-process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.nw-process-grid > div{
  border:1px solid rgba(255,255,255,.12);
  padding:24px;
  background:rgba(255,255,255,.035);
}
.nw-reference-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.nw-ref-img{
  aspect-ratio:16/10;
  background:
    radial-gradient(circle at right center,rgba(255,75,22,.35),transparent 36%),
    linear-gradient(135deg,#111,#050505);
  margin:-30px -30px 22px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.nw-reference-card small{
  color:var(--nw-accent,#ff4b16);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.nw-reference-card h2{
  font-family:Inter,Arial,sans-serif;
  text-transform:none;
  letter-spacing:-.03em;
  font-size:26px;
  line-height:1.1;
}
.nw-calculator-frame{
  padding:0;
  overflow:hidden;
  border-color:rgba(255,75,22,.32);
}
.nw-section-head{max-width:900px;margin-bottom:30px}
.nw-contact-card strong{color:#fff}
@media(max-width:980px){
  .nw-two-col,.nw-two-col--reverse,.nw-feature-grid,.nw-service-detail-grid,.nw-process-grid,.nw-reference-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .nw-page-layout .nw-container,
  .nw-page-section > .nw-container{
    width:min(100% - 30px,var(--nw-container,1280px));
  }
}

/* ===== v2.0.6 responsive polish: smaller header/hero, better titles & service cards ===== */
:root{
  --nw-header-h:74px;
  --nw-header-gap:24;
}

.nw-header{
  min-height:var(--nw-header-h,74px)!important;
}
.nw-header__inner{
  min-height:var(--nw-header-h,74px)!important;
  gap:clamp(18px,2vw,34px)!important;
}
.nw-logo img{
  max-height:44px!important;
}
.nw-menu{
  gap:calc(var(--nw-header-gap,24) * 1px)!important;
}
.nw-menu a{
  padding:24px 0 21px!important;
  font-size:12px!important;
  letter-spacing:.05em!important;
}
.nw-menu .current-menu-item>a:after,
.nw-menu .current_page_item>a:after,
.nw-menu a:hover:after{
  bottom:14px!important;
}
.nw-header-cta{
  min-height:42px!important;
  padding:0 22px!important;
  font-size:12px!important;
}

.nw-hero,
.nw-hero__inner,
.nw-hero__slide{
  min-height:clamp(520px, calc(100svh - var(--nw-header-h,74px)), 690px)!important;
}
.nw-hero__copy{
  max-width:560px!important;
  padding:56px 0 44px!important;
}
.nw-hero h1{
  font-size:clamp(40px, 5.6vw, 88px)!important;
  line-height:.93!important;
  letter-spacing:-.045em!important;
}
.nw-hero__text{
  max-width:520px!important;
  margin-top:18px!important;
  font-size:17px!important;
  line-height:1.55!important;
}
.nw-hero__buttons{
  margin-top:26px!important;
}

body.home .nw-section-title,
body.front-page .nw-section-title{
  align-items:flex-end!important;
  gap:22px!important;
}
body.home .nw-section-title h2,
body.front-page .nw-section-title h2{
  max-width:1150px!important;
  font-size:clamp(42px,4.9vw,82px)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
  text-wrap:balance;
}
body.home .nw-section-title h2 span,
body.front-page .nw-section-title h2 span{
  display:inline-block;
  margin-left:.08em;
}

.nw-services,
body.home .nw-services,
body.front-page .nw-services{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
}
.nw-service-card,
.wp-block-group.nw-service-card{
  min-height:278px!important;
  padding:28px 22px!important;
}
.nw-service-card .nw-icon-svg{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:34px;
  margin-bottom:14px;
}
.nw-service-card .nw-icon-svg svg{
  width:30px;
  height:30px;
  stroke:var(--nw-accent,#ff4b16);
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nw-service-card h3{
  margin:0 0 12px!important;
  font-size:clamp(14px,1.05vw,18px)!important;
  line-height:1.2!important;
  letter-spacing:-.01em!important;
  text-transform:uppercase!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.nw-service-card p{
  font-size:14px!important;
  line-height:1.55!important;
}
.nw-service-card p:last-child{
  margin-top:auto!important;
  padding-top:18px!important;
}
.nw-service-card a{
  font-size:12px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}

@media (min-width:981px) and (max-width:1320px){
  .nw-menu{gap:16px!important}
  .nw-header-cta{padding:0 18px!important}
  .nw-hero h1{font-size:clamp(38px,5vw,76px)!important}
  body.home .nw-section-title h2,
  body.front-page .nw-section-title h2{font-size:clamp(38px,4.5vw,68px)!important}
  .nw-service-card h3{font-size:15px!important}
}
@media (max-width:1180px){
  .nw-services,
  body.home .nw-services,
  body.front-page .nw-services{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:980px){
  :root{--nw-header-h:70px;--nw-header-gap:14}
  .nw-logo img{max-height:40px!important}
  .nw-hero,
  .nw-hero__inner,
  .nw-hero__slide{min-height:clamp(500px, calc(100svh - var(--nw-header-h,70px)), 640px)!important}
  .nw-hero__copy{padding:42px 0 32px!important}
  body.home .nw-section-title h2,
  body.front-page .nw-section-title h2{font-size:clamp(34px,8vw,54px)!important}
}
@media (max-width:620px){
  .nw-services,
  body.home .nw-services,
  body.front-page .nw-services{grid-template-columns:1fr!important}
  .nw-service-card,
  .wp-block-group.nw-service-card{min-height:auto!important}
  .nw-hero h1{font-size:clamp(34px,11vw,56px)!important}
}


/* ===== v2.0.8 native Gutenberg block page imports ===== */
.nw-feature-card,
.nw-service-detail-card,
.nw-process-card{
  height:100%;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.14);
  padding:30px;
}
.nw-feature-card .nw-number,
.nw-service-detail-card .nw-number,
.nw-process-card .nw-number{
  color:var(--nw-accent,#ff4b16)!important;
  font-family:Impact,"Arial Black",Inter,Arial,sans-serif;
  font-size:34px;
  line-height:1;
  margin:0 0 18px;
}
.nw-card-label{
  color:var(--nw-accent,#ff4b16)!important;
  font-size:11px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
}
.nw-reference-card .nw-ref-img{
  min-height:220px;
}
.nw-calculator-frame .wp-block-shortcode{
  margin:0;
}
.nw-page-layout .wp-block-buttons{
  margin-top:22px;
}
.nw-page-layout .wp-block-button.nw-btn .wp-block-button__link,
.nw-page-layout .nw-btn .wp-block-button__link{
  background:var(--nw-accent,#ff4b16)!important;
  color:#fff!important;
  border-radius:0!important;
  text-transform:uppercase;
  font-weight:950;
  letter-spacing:.05em;
  padding:15px 24px;
}
.editor-styles-wrapper .nw-feature-card,
.editor-styles-wrapper .nw-service-detail-card,
.editor-styles-wrapper .nw-process-card{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  padding:30px!important;
}


/* ===== v2.0.9 headline readability fix =====
   Problem: Impact/Arial Black war bei langen Headlines zu fett/eng.
   Lösung: etwas schmalere, sauberere Headline-Optik mit größerer Zeilenhöhe,
   weniger negativem Spacing und automatischer Breitenbegrenzung. */
.nw-page-layout h1,
.nw-page-layout h2,
.nw-page-header h1,
.editor-styles-wrapper .nw-page-layout h1,
.editor-styles-wrapper .nw-page-layout h2,
.editor-styles-wrapper .nw-page-header h1 {
  font-family: "Arial Black", Impact, Inter, Arial, sans-serif !important;
  font-stretch: normal;
  letter-spacing: -0.018em !important;
  line-height: 1.02 !important;
  word-spacing: 0.025em !important;
  text-wrap: balance;
  max-width: 1080px;
}

.nw-page-layout h1,
.editor-styles-wrapper .nw-page-layout h1 {
  font-size: clamp(42px, 5.2vw, 82px) !important;
}

.nw-page-layout h2,
.editor-styles-wrapper .nw-page-layout h2 {
  font-size: clamp(34px, 4.2vw, 66px) !important;
}

.nw-page-section--intro .nw-container,
.editor-styles-wrapper .nw-page-section--intro .nw-container {
  max-width: 1180px !important;
}

.nw-page-layout .nw-lead,
.editor-styles-wrapper .nw-page-layout .nw-lead {
  max-width: 900px !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.58 !important;
}

/* Lange Intro-Headlines etwas ruhiger darstellen */
.nw-page-section--intro h1,
.editor-styles-wrapper .nw-page-section--intro h1 {
  max-width: 1040px !important;
}

/* Orange Markierung klarer absetzen */
.nw-page-layout h1 span,
.nw-page-layout h2 span,
.editor-styles-wrapper .nw-page-layout h1 span,
.editor-styles-wrapper .nw-page-layout h2 span {
  display: inline-block;
  color: var(--nw-accent,#ff4b16) !important;
}

/* About-Seite: Headline kontrollierter umbrechen */
.nw-page-layout--about .nw-page-section--intro h1,
.editor-styles-wrapper .nw-page-layout--about .nw-page-section--intro h1 {
  max-width: 980px !important;
}

/* Wenn der Gutenberg-Import <span> nutzt, trenne North Wrap optisch besser */
.nw-page-layout--about .nw-page-section--intro h1 span,
.editor-styles-wrapper .nw-page-layout--about .nw-page-section--intro h1 span {
  margin-left: .09em;
}

/* Mobile: kompakter, aber nicht gequetscht */
@media (max-width: 980px) {
  .nw-page-layout h1,
  .editor-styles-wrapper .nw-page-layout h1 {
    font-size: clamp(38px, 9vw, 62px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.012em !important;
  }

  .nw-page-layout h2,
  .editor-styles-wrapper .nw-page-layout h2 {
    font-size: clamp(32px, 7vw, 52px) !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 620px) {
  .nw-page-layout h1,
  .editor-styles-wrapper .nw-page-layout h1 {
    font-size: clamp(34px, 10.5vw, 48px) !important;
    line-height: 1.06 !important;
    letter-spacing: 0 !important;
  }

  .nw-page-layout--about .nw-page-section--intro h1 span,
  .editor-styles-wrapper .nw-page-layout--about .nw-page-section--intro h1 span {
    margin-left: 0;
  }
}

/* Optional speziell für die About-Intro-Headline: bessere manuelle Zeilenführung,
   falls der Import erneut ausgeführt wird und die Klasse gesetzt ist. */
.nw-title-readable,
.editor-styles-wrapper .nw-title-readable {
  font-family: "Arial Black", Impact, Inter, Arial, sans-serif !important;
  letter-spacing: -0.012em !important;
  line-height: 1.04 !important;
  word-spacing: .035em !important;
}
.nw-title-readable .nw-break,
.editor-styles-wrapper .nw-title-readable .nw-break {
  display: block;
}

/* ===== v2.1.0 user typography + right background transition fix ===== */

/* Fix für harte rechte Kante: Northwrap-Unterseiten immer auf volle Viewport-Breite ziehen */
.nw-page-content--wide,
.nw-page-article,
.nw-main {
  background:
    radial-gradient(circle at right top, rgba(255,75,22,.10), transparent 34%),
    linear-gradient(90deg, #030303 0%, #050505 58%, #120500 100%) !important;
}

.nw-page-content--wide > .nw-page-layout,
.nw-page-content--wide > .wp-block-group.nw-page-layout,
.editor-styles-wrapper .nw-page-layout {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background:
    linear-gradient(90deg, #030303 0%, #050505 56%, #120500 100%) !important;
  position: relative;
  isolation: isolate;
}

/* weicher Verlauf statt sichtbarer vertikaler Kante rechts */
.nw-page-layout::before,
.editor-styles-wrapper .nw-page-layout::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,75,22,.16), transparent 34%),
    linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(255,75,22,.055) 66%, rgba(0,0,0,.78) 100%);
}

.nw-page-section,
.editor-styles-wrapper .nw-page-section {
  background: transparent !important;
}

.nw-page-section--intro,
.editor-styles-wrapper .nw-page-section--intro {
  background:
    linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.78) 56%, rgba(35,8,0,.58) 100%) !important;
}

/* Von Bastian angepasste Typografie als Theme-Default übernehmen */
.nw-page-layout h1,
.editor-styles-wrapper .nw-page-layout h1 {
  font-size: clamp(42px, 5.2vw, 55px) !important;
}

.nw-hero h1 {
  font-size: clamp(40px, 5.6vw, 70px) !important;
  line-height: .93 !important;
  letter-spacing: -.045em !important;
}

.nw-page-layout h2,
.editor-styles-wrapper .nw-page-layout h2 {
  font-size: clamp(34px, 4.2vw, 50px) !important;
}

.nw-page-layout h1,
.nw-page-layout h2,
.nw-page-layout h3,
.nw-page-header h1,
.editor-styles-wrapper .nw-page-layout h1,
.editor-styles-wrapper .nw-page-layout h2,
.editor-styles-wrapper .nw-page-layout h3,
.editor-styles-wrapper .nw-page-header h1 {
  color: #fff !important;
  font-family: "Arial Black", Inter, Arial, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: -.045em !important;
  line-height: .94 !important;
}

body.home .nw-section-title h2,
body.front-page .nw-section-title h2,
.editor-styles-wrapper .nw-section-title h2 {
  color: #fff !important;
  margin: 0 !important;
  max-width: 920px !important;
  font-family: "Arial Black", Inter, Arial, sans-serif !important;
  font-size: clamp(38px, 4.7vw, 74px) !important;
  line-height: .92 !important;
  letter-spacing: -.045em !important;
  text-transform: uppercase !important;
}

/* H2 im normalen Block-Editor nicht mehr riesig aufblasen */
h2.wp-block-heading,
.editor-styles-wrapper h2.wp-block-heading {
  font-size: 23px !important;
  line-height: 1.15 !important;
}

/* Northwrap-Layout-Headlines dürfen trotzdem größer sein, wenn sie in einer Layout-Section stehen */
.nw-page-layout h2.wp-block-heading,
.editor-styles-wrapper .nw-page-layout h2.wp-block-heading {
  font-size: clamp(34px, 4.2vw, 50px) !important;
}

/* About-Seite: sauberer, kompakter Umbruch */
.nw-page-layout--about .nw-page-section--intro h1,
.editor-styles-wrapper .nw-page-layout--about .nw-page-section--intro h1 {
  max-width: 900px !important;
}

.nw-title-readable,
.editor-styles-wrapper .nw-title-readable {
  letter-spacing: -.038em !important;
  line-height: .96 !important;
}

.nw-title-readable .nw-break,
.editor-styles-wrapper .nw-title-readable .nw-break {
  display: block !important;
  margin-left: 0 !important;
}

/* Bild/Panel rechts nicht hart abschneiden lassen */
.nw-image-panel,
.editor-styles-wrapper .nw-image-panel {
  background:
    radial-gradient(circle at 68% 48%, rgba(255,75,22,.32), transparent 38%),
    linear-gradient(115deg, #050505 0%, #080808 48%, #2b0a00 100%) !important;
  box-shadow: inset 0 0 90px rgba(0,0,0,.52);
}

@media (max-width: 980px) {
  .nw-page-content--wide > .nw-page-layout,
  .nw-page-content--wide > .wp-block-group.nw-page-layout,
  .editor-styles-wrapper .nw-page-layout {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  .nw-page-section--intro,
  .editor-styles-wrapper .nw-page-section--intro {
    background:
      linear-gradient(180deg, rgba(0,0,0,.98) 0%, rgba(22,5,0,.74) 100%) !important;
  }

  .nw-page-layout h1,
  .editor-styles-wrapper .nw-page-layout h1 {
    font-size: clamp(36px, 9vw, 52px) !important;
  }
}


/* ===== v2.1.1 references hero/import polish ===== */
.nw-hero[data-speed] .nw-hero__slide[data-slide-title*="Qualität"],
.nw-hero[data-speed] .nw-hero__slide[data-slide-title*="Idee"] {
  background-color:#030303;
}
.nw-reference-card .nw-ref-img,
.editor-styles-wrapper .nw-reference-card .nw-ref-img {
  background:
    radial-gradient(circle at 70% 45%, rgba(255,75,22,.34), transparent 38%),
    linear-gradient(135deg, #080808 0%, #151515 48%, #2b0a00 100%) !important;
}
