:root{--nw-accent:#ff4b16;--nw-bg:#030303;--nw-white:#f4f4f4;--nw-muted:#b9b9b9;--nw-border:rgba(255,255,255,.12);--nw-card:rgba(255,255,255,.045);--nw-container:1280px;--nw-radius:0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--nw-bg);color:var(--nw-white);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.nw-container{width:min(var(--nw-container),calc(100% - 64px));margin:0 auto}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px}.nw-header{position:relative;z-index:50;background:rgba(0,0,0,.86);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}.nw-header.is-sticky{position:sticky;top:0}.nw-header__inner{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center}.nw-logo{display:flex;align-items:center}.nw-logo img{width:var(--nw-logo-w);max-height:58px;object-fit:contain;display:block}.nw-menu-toggle{display:none}.nw-nav{justify-self:end}.nw-menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}.nw-menu a{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#fff;opacity:.95;position:relative;white-space:nowrap}.nw-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--nw-accent);transition:.25s}.nw-menu a:hover:after,.nw-menu .current-menu-item>a:after{right:0}.nw-header-cta,.nw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 24px;background:var(--nw-accent);color:#fff;border:1px solid var(--nw-accent);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.07em;box-shadow:0 14px 30px rgba(255,75,22,.22);transition:.2s}.nw-header-cta:hover,.nw-btn--primary:hover{transform:translateY(-1px);filter:brightness(1.08)}.nw-btn--ghost{background:transparent;border-color:transparent;box-shadow:none;padding-left:16px;color:#fff}.nw-btn--ghost span{color:var(--nw-accent);margin-left:14px}.nw-hero{position:relative;min-height:calc(var(--nw-hero-desktop,70)*1vh);overflow:hidden;background:#050505}.nw-hero__slides,.nw-hero__slide{position:absolute;inset:0}.nw-hero__slide{background-size:cover;background-position:center right;opacity:0;transition:opacity 1.15s ease}.nw-hero__slide.is-active{opacity:1}.nw-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.78) 34%,rgba(0,0,0,var(--nw-hero-overlay,.48)) 62%,rgba(0,0,0,.3) 100%)}.nw-hero__inner{position:relative;z-index:2;min-height:calc(var(--nw-hero-desktop,70)*1vh);display:flex;align-items:center}.nw-hero--center .nw-hero__inner{justify-content:center;text-align:center}.nw-hero--right .nw-hero__inner{justify-content:flex-end;text-align:right}.nw-hero__copy{max-width:620px;padding:90px 0 70px}.nw-eyebrow{margin:0 0 18px;color:var(--nw-accent);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.13em}.nw-hero h1{margin:0;font-size:clamp(46px,6.4vw,104px);line-height:.9;font-weight:1000;letter-spacing:-.055em;text-transform:uppercase;color:#fff}.nw-hero h1 span{color:var(--nw-accent);display:inline-block}.nw-hero__text{max-width:560px;margin:22px 0 0;color:#e6e6e6;font-size:18px;line-height:1.55}.nw-hero--center .nw-hero__text{margin-left:auto;margin-right:auto}.nw-hero--right .nw-hero__text{margin-left:auto}.nw-hero__buttons{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:34px}.nw-hero--center .nw-hero__buttons{justify-content:center}.nw-hero--right .nw-hero__buttons{justify-content:flex-end}.nw-hero__dots{position:absolute;z-index:4;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:9px}.nw-hero__dots button{width:28px;height:3px;border:0;background:rgba(255,255,255,.35);padding:0;cursor:pointer}.nw-hero__dots button.is-active{background:var(--nw-accent)}.nw-main{min-height:40vh}.nw-section{padding:86px 0}.nw-content{position:relative;z-index:1}.nw-content h1,.nw-content h2,.nw-content h3{line-height:.96;text-transform:uppercase;letter-spacing:-.04em}.nw-content h1{font-size:clamp(42px,5vw,76px)}.nw-content h2{font-size:clamp(34px,4vw,64px)}.nw-content p{color:#d0d0d0}.nw-footer{border-top:1px solid var(--nw-border);background:#030303;padding:48px 0 42px}.nw-footer__inner{display:flex;align-items:flex-start;justify-content:space-between;gap:48px}.nw-footer__logo{width:145px;max-height:60px;object-fit:contain}.nw-footer p{color:#8c8c8c;font-size:13px}.nw-footer-menu{display:flex;gap:28px;list-style:none;margin:0;padding:0}.nw-footer-menu a{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.wp-block-image img{display:block}.alignwide{max-width:var(--nw-container);margin-left:auto;margin-right:auto}.alignfull{max-width:none;width:100%}
@media(max-width:980px){.nw-container{width:min(100% - 36px, var(--nw-container))}.nw-header__inner{grid-template-columns:auto auto;justify-content:space-between;min-height:74px}.nw-logo img{width:var(--nw-logo-w-mobile);max-height:50px}.nw-menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:10px;cursor:pointer}.nw-menu-toggle span{display:block;width:25px;height:2px;background:#fff}.nw-nav{position:absolute;left:18px;right:18px;top:74px;background:#070707;border:1px solid var(--nw-border);padding:18px;display:none}.nw-nav.is-open{display:block}.nw-menu{display:grid;gap:0}.nw-menu li{border-bottom:1px solid var(--nw-border)}.nw-menu a{display:block;padding:15px 0}.nw-header-cta{display:none}.nw-hero,.nw-hero__inner{min-height:calc(var(--nw-hero-mobile,74)*1vh)}.nw-hero__slide{background-position:center center}.nw-hero__shade{background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.72))}.nw-hero__copy{padding:88px 0 60px}.nw-hero h1{font-size:clamp(38px,12vw,62px)}.nw-hero__text{font-size:16px}.nw-footer__inner{display:grid}.nw-footer-menu{display:grid;gap:12px}} 
@media(max-width:560px){.nw-container{width:min(100% - 28px, var(--nw-container))}.nw-btn{width:100%}.nw-btn--ghost{width:auto}.nw-hero__buttons{gap:10px}.nw-section{padding:56px 0}}

/* ===== v2.0.1 layout repair + richer standalone theme ===== */
:root{
  --nw-white:var(--nw-text,#f4f4f4);
  --nw-border:rgba(255,255,255,.12);
  --nw-card:rgba(255,255,255,.045);
}
body{background:var(--nw-bg,#030303);color:var(--nw-text,#f4f4f4)}
.nw-container{width:min(var(--nw-container,1280px),calc(100% - 64px));margin-left:auto;margin-right:auto}
.nw-header{background:color-mix(in srgb,var(--nw-header-bg,#000) 88%,transparent);min-height:var(--nw-header-h,82px)}
.nw-header__inner{min-height:var(--nw-header-h,82px);grid-template-columns:auto 1fr auto;gap:34px}
.nw-logo picture{display:flex;align-items:center}.nw-logo img{width:var(--nw-logo-w);max-height:calc(var(--nw-header-h,82px) - 22px)}
.nw-menu{gap:calc(var(--nw-header-gap,30px) * 1px)}
.nw-menu a,.nw-header-cta{white-space:nowrap}
.nw-main{background:radial-gradient(circle at right top,rgba(255,75,22,.08),transparent 35%),var(--nw-bg,#030303)}
.nw-page-content--wide{width:100%;overflow:hidden}
.nw-page-content--wide > *:not(.alignfull):not(.nw-home):not(.nw-import-page){width:min(var(--nw-content,1180px),calc(100% - 64px));margin-left:auto;margin-right:auto}
.nw-page-header{padding:80px 0 38px;border-bottom:1px solid var(--nw-border)}
.nw-page-header h1{font-size:clamp(42px,5vw,82px);text-transform:uppercase;line-height:.94;margin:0}
.nw-section,.nw-home-section{padding:var(--nw-section-pad,78px) 0}

/* Hero defaults */
.nw-hero{min-height:var(--nw-hero-h,680px)}
.nw-hero__slide{min-height:var(--nw-hero-h,680px)}
.nw-hero__content{max-width:720px}
.nw-hero h1{font-size:clamp(48px,7vw,108px);line-height:.9}
.nw-hero__accent{color:var(--nw-accent,#ff4b16)}

/* More stable home/card layout */
.nw-home,.nw-import-page{background:var(--nw-bg,#030303);color:#fff}
.nw-services,.nw-projects,.nw-trust-grid{width:min(var(--nw-container,1280px),calc(100% - 64px));margin-left:auto;margin-right:auto}
.nw-services{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.nw-projects{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.nw-trust-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.nw-service-card,.nw-project-card,.nw-trust-item{border:1px solid var(--nw-border);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));padding:28px;min-width:0}
.nw-project-card{min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center;position:relative;overflow:hidden}
.nw-project-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.88));z-index:0}
.nw-project-card>*{position:relative;z-index:1}

/* Footer like mockup */
.nw-footer{background:var(--nw-footer-bg,#030303);border-top:1px solid var(--nw-border);padding:54px 0 24px;color:#fff}
.nw-footer__top{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:42px;align-items:start}
.nw-footer__logo{width:min(var(--nw-logo-w),185px);max-height:70px;object-fit:contain;margin-bottom:16px}
.nw-footer h3{font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px;color:#fff}
.nw-footer p,.nw-footer a{color:var(--nw-muted,#b9b9b9);font-size:14px;line-height:1.6}
.nw-footer-menu,.nw-footer-legal{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.nw-footer a:hover{color:var(--nw-accent,#ff4b16)}
.nw-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.nw-footer__bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.nw-footer__bottom p{margin:0}.nw-footer-legal{display:flex;gap:20px;flex-wrap:wrap}

/* Header mobile */
@media(max-width:980px){
  .nw-header__inner{grid-template-columns:auto auto;justify-content:space-between}
  .nw-menu-toggle{display:inline-flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px}
  .nw-menu-toggle span{display:block;width:26px;height:2px;background:#fff}
  .nw-nav{position:absolute;left:0;right:0;top:100%;background:#050505;border-top:1px solid var(--nw-border);display:none;padding:18px 24px}
  .nw-nav.is-open{display:block}
  .nw-menu{display:grid;gap:14px}
  .nw-header-cta{display:none}
  .nw-header-cta.show-mobile{display:inline-flex}
  .nw-services,.nw-projects,.nw-trust-grid{grid-template-columns:1fr!important}
  .nw-footer__top{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .nw-container{width:min(100% - 36px,var(--nw-container,1280px))}
  .nw-logo img{width:var(--nw-logo-w-mobile)}
  .nw-hero,.nw-hero__slide{min-height:var(--nw-hero-h-mobile,620px)}
  .nw-footer__top,.nw-footer__bottom{grid-template-columns:1fr;display:grid}
  body.nw-no-mobile-sticky .nw-header.is-sticky{position:relative}
}

/* ===== v2.0.2 menu + hero text rotation repair ===== */
.nw-header__inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(22px,3vw,54px);
}
.nw-nav{justify-self:end;min-width:0}
.nw-menu{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:calc(var(--nw-header-gap,30) * 1px)!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.nw-menu li{display:block;margin:0!important;padding:0!important}
.nw-menu a{
  display:inline-flex!important;
  align-items:center!important;
  padding:30px 0 26px!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-size:13px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.065em!important;
}
.nw-menu .current-menu-item>a,
.nw-menu .current_page_item>a,
.nw-menu a:hover{color:#fff}
.nw-menu .current-menu-item>a:after,
.nw-menu .current_page_item>a:after,
.nw-menu a:hover:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:16px;height:2px;
  background:var(--nw-accent,#ff4b16);
}
.nw-menu a{position:relative}
.nw-header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 28px!important;
  white-space:nowrap;
}

/* Hero: active slide must control image AND text */
.nw-hero__slides{position:absolute;inset:0}
.nw-hero__slide{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:0!important;
  transition:opacity .85s ease, visibility .85s ease!important;
}
.nw-hero__slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
}
.nw-hero__inner,
.nw-hero__copy{
  position:relative;
  z-index:5;
}
.nw-hero__copy{
  will-change:transform,opacity;
}
.nw-hero__slide.is-active .nw-hero__copy{
  animation:nwHeroCopyIn .55s ease both;
}
@keyframes nwHeroCopyIn{
  from{opacity:.25;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

/* Desktop breakpoint: avoid squeezed/touching menu */
@media (min-width:981px) and (max-width:1180px){
  .nw-header__inner{gap:20px}
  .nw-menu{gap:16px!important}
  .nw-menu a{font-size:12px!important;letter-spacing:.035em!important}
  .nw-header-cta{padding:0 20px!important}
}
@media (max-width:980px){
  .nw-header__inner{display:grid;grid-template-columns:auto auto!important}
  .nw-menu{display:grid!important;gap:0!important}
  .nw-menu a{display:block!important;padding:15px 0!important}
  .nw-menu a:after{display:none!important}
}

/* ===== 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.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;
}
