:root {
  --ntw-deep: #0E2A21;
  --ntw-green: #174A36;
  --ntw-green-2: #1F5A43;
  --ntw-amber: #F3B63F;
  --ntw-red: #B42318;
  --ntw-charcoal: #17211C;
  --ntw-slate: #4B5851;
  --ntw-cream: #F7F3E8;
  --ntw-mist: #F3F6F2;
  --ntw-sage: #D9E6DC;
  --ntw-white: #FFFFFF;
  --ntw-border: #DCE6DF;
  --ntw-heading: "Archivo", Arial, sans-serif;
  --ntw-body: "Source Sans 3", Arial, sans-serif;
  --ntw-container: 1240px;
  --ntw-gutter: clamp(20px, 4vw, 48px);
  --ntw-section: clamp(80px, 9vw, 140px);
  --ntw-shadow: 0 20px 55px rgba(14, 42, 33, .12);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--ntw-charcoal);background:var(--ntw-white);font-family:var(--ntw-body);font-size:18px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
svg{display:block;width:100%;height:100%}
.ntw-container{width:min(calc(100% - (var(--ntw-gutter) * 2)),var(--ntw-container));margin-inline:auto}
.ntw-section{padding-block:var(--ntw-section)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ntw-skip-link{position:fixed;left:20px;top:16px;z-index:9999;transform:translateY(-150%);background:var(--ntw-amber);color:var(--ntw-deep);padding:12px 18px;font-weight:800;border-radius:999px}
.ntw-skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--ntw-amber);outline-offset:4px}
.ntw-icon{display:inline-flex;width:1.15em;height:1.15em;flex:0 0 auto}
.ntw-icon>img{display:block;width:100%;height:100%;object-fit:contain}

h1,h2,h3,h4,h5,h6{margin:0 0 .55em;font-family:var(--ntw-heading);line-height:1.08;letter-spacing:-.035em;color:var(--ntw-charcoal)}
h1{font-size:clamp(3rem,6vw,6.25rem);font-weight:800}
h2{font-size:clamp(2.35rem,4vw,4.65rem);font-weight:750}
h3{font-size:clamp(1.25rem,1.6vw,1.65rem);font-weight:720;letter-spacing:-.02em}
p{margin:0 0 1.25em;color:var(--ntw-slate)}
.ntw-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;color:var(--ntw-green);font-family:var(--ntw-heading);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ntw-eyebrow .ntw-icon{width:20px;height:20px}
.ntw-eyebrow--light{color:var(--ntw-amber)}
.ntw-section-heading{max-width:760px}
.ntw-section-heading--center{text-align:center;margin-inline:auto}
.ntw-section-heading--center .ntw-eyebrow{justify-content:center}
.ntw-section-heading__text{max-width:650px;font-size:1.08rem}
.ntw-section-heading--center .ntw-section-heading__text{margin-inline:auto}
.ntw-section-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}

.ntw-button-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ntw-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 22px;border:1px solid transparent;border-radius:999px;font-family:var(--ntw-heading);font-size:.95rem;font-weight:800;line-height:1.15;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.ntw-button:hover{transform:translateY(-2px)}
.ntw-button .ntw-icon{width:18px;height:18px}
.ntw-button--amber{background:var(--ntw-amber);color:var(--ntw-deep)}
.ntw-button--amber:hover{background:#e4a72f}
.ntw-button--green{background:var(--ntw-green);color:var(--ntw-white)}
.ntw-button--green:hover{background:var(--ntw-deep)}
.ntw-button--ghost{color:var(--ntw-white);border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.ntw-button--ghost:hover{background:var(--ntw-white);color:var(--ntw-deep)}
.ntw-button--white{background:var(--ntw-white);color:var(--ntw-red)}
.ntw-button--white-outline{color:var(--ntw-white);border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.08)}
.ntw-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--ntw-green);font-family:var(--ntw-heading);font-weight:800;font-size:.92rem}
.ntw-text-link .ntw-icon{width:17px;height:17px;transition:transform .25s ease}
.ntw-text-link:hover .ntw-icon{transform:translateX(4px)}

/* Header */
.ntw-header{position:fixed;z-index:1000;left:0;right:0;top:18px;transition:top .25s ease}
.admin-bar .ntw-header{top:50px}
.ntw-header__inner{position:relative;min-height:76px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:9px 14px 9px 18px;border:1px solid rgba(23,74,54,.16);border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 12px 40px rgba(0,0,0,.12);backdrop-filter:blur(18px);transition:background .25s ease,box-shadow .25s ease,border-color .25s ease}
.ntw-header.is-scrolled .ntw-header__inner{border-color:rgba(255,255,255,.18);background:rgba(14,42,33,.96);box-shadow:0 18px 45px rgba(0,0,0,.2)}
.ntw-brand{display:inline-flex;align-items:center;gap:0;color:var(--ntw-white);white-space:nowrap}
.ntw-brand__logo-wrap{position:relative;display:block;width:190px;height:54px}
.ntw-brand__logo{display:block;width:auto;max-width:100%;object-fit:contain}
.ntw-brand__logo--header{position:absolute;inset:0 auto auto 0;height:54px;max-width:190px;transition:opacity .25s ease}
.ntw-brand__logo--sticky-header{opacity:0}
.ntw-header.is-scrolled .ntw-brand__logo--light-header{opacity:0}
.ntw-header.is-scrolled .ntw-brand__logo--sticky-header{opacity:1}
.ntw-brand__logo--footer{height:88px;max-width:280px}
.ntw-brand--footer{color:var(--ntw-deep);margin-bottom:22px}
.ntw-navigation{justify-self:center}
.ntw-menu{display:flex;align-items:center;gap:clamp(15px,2vw,29px);list-style:none;margin:0;padding:0}
.ntw-menu a{position:relative;color:var(--ntw-deep);font-family:var(--ntw-heading);font-size:.78rem;font-weight:700;transition:color .25s ease}
.ntw-header.is-scrolled .ntw-menu a{color:rgba(255,255,255,.88)}
.ntw-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--ntw-amber);transition:right .25s ease}
.ntw-menu a:hover::after,.ntw-menu a:focus-visible::after{right:0}
.ntw-header__phone{display:inline-flex;align-items:center;gap:10px;color:var(--ntw-deep);font-family:var(--ntw-heading);font-weight:800;transition:color .25s ease}
.ntw-header.is-scrolled .ntw-header__phone{color:var(--ntw-white)}
.ntw-header__phone>.ntw-icon{width:42px;height:42px;padding:11px;border-radius:50%;background:var(--ntw-green);color:var(--ntw-white);transition:background .25s ease,color .25s ease}
.ntw-header.is-scrolled .ntw-header__phone>.ntw-icon{background:var(--ntw-white);color:var(--ntw-green)}
.ntw-header__phone span{display:flex;flex-direction:column;line-height:1.15;font-size:.84rem}
.ntw-header__phone small{margin-bottom:4px;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ntw-slate);transition:color .25s ease}
.ntw-header.is-scrolled .ntw-header__phone small{color:rgba(255,255,255,.65)}
.ntw-menu-toggle{display:none;border:0;background:transparent;color:var(--ntw-green);padding:8px;transition:color .25s ease}
.ntw-header.is-scrolled .ntw-menu-toggle{color:var(--ntw-white)}
.ntw-menu-toggle .ntw-icon{width:27px;height:27px}
.ntw-menu-toggle__close{display:none}

/* Hero */
.ntw-hero{position:relative;height:100svh;min-height:700px;overflow:hidden;background:var(--ntw-deep);color:var(--ntw-white)}
.ntw-hero__viewport,.ntw-hero__slides,.ntw-hero__slide{position:absolute;inset:0}
.ntw-hero__slides{display:flex}
.ntw-hero__slide{position:relative;flex:0 0 100%;min-width:0}
.ntw-hero__image{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02)}
.ntw-hero__image--1{object-position:center 44%}
.ntw-hero__image--2{object-position:center 42%}
.ntw-hero__image--3{object-position:center 52%}
.ntw-hero__image--4{object-position:center 48%}
.ntw-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,25,18,.93) 0%,rgba(7,35,24,.74) 42%,rgba(8,36,25,.25) 72%,rgba(7,29,22,.42) 100%),linear-gradient(0deg,rgba(7,30,21,.88) 0%,transparent 42%)}
.ntw-hero__content{position:relative;z-index:2;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;padding-top:clamp(108px,13vh,134px);padding-bottom:clamp(20px,3vh,32px)}
.ntw-hero__copy{align-self:center;max-width:740px;margin:0;padding-bottom:clamp(12px,2.2vh,28px)}
.ntw-rating{display:flex;align-items:center;gap:12px;margin-bottom:clamp(12px,2vh,20px);font-family:var(--ntw-heading);font-size:.78rem;font-weight:700;color:rgba(255,255,255,.86)}
.ntw-stars{display:inline-flex;gap:3px;color:var(--ntw-amber)}
.ntw-stars .ntw-icon{width:15px;height:15px}
.ntw-hero__label{display:inline-flex;margin:0 0 clamp(7px,1.2vh,12px);color:var(--ntw-amber);font-family:var(--ntw-heading);font-weight:800;font-size:.86rem;letter-spacing:.12em;text-transform:uppercase}
.ntw-hero h1{max-width:780px;margin-bottom:clamp(14px,2.3vh,26px);color:var(--ntw-white);font-size:clamp(3.35rem,4.8vw,5.25rem);line-height:.97;text-wrap:balance}
.ntw-hero__description{max-width:590px;margin-bottom:clamp(14px,2.2vh,24px);color:rgba(255,255,255,.76);font-size:clamp(.98rem,1vw,1.08rem)}
.ntw-hero__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:76px}
.ntw-hero__trust{display:flex;gap:18px;flex-wrap:wrap}
.ntw-trust-badge{display:flex;align-items:center;gap:10px;color:var(--ntw-white)}
.ntw-trust-badge>.ntw-icon{width:36px;height:36px;padding:8px;border-radius:50%;background:rgba(243,182,63,.16);color:var(--ntw-amber)}
.ntw-trust-badge span{display:flex;flex-direction:column;line-height:1.2}
.ntw-trust-badge strong{font-family:var(--ntw-heading);font-size:.79rem}
.ntw-trust-badge small{margin-top:3px;color:rgba(255,255,255,.62);font-size:.66rem}
.ntw-hero__thumbs{display:flex;align-items:center;gap:8px;max-width:590px}
.ntw-hero-thumb{position:relative;width:98px;height:70px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:14px;background:var(--ntw-deep);color:var(--ntw-white);cursor:pointer;transition:width .3s ease,border-color .3s ease,transform .3s ease}
.ntw-hero-thumb:hover{transform:translateY(-4px)}
.ntw-hero-thumb.is-active{width:138px;border-color:var(--ntw-amber)}
.ntw-hero-thumb img{width:100%;height:100%;object-fit:cover;opacity:.75}
.ntw-hero-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,42,33,.8),transparent 70%)}
.ntw-hero-thumb span{position:absolute;z-index:2;left:9px;right:7px;bottom:8px;text-align:left;font-family:var(--ntw-heading);font-size:.59rem;font-weight:800;line-height:1.1}
.ntw-hero-thumb i{position:absolute;z-index:3;left:0;bottom:0;height:3px;width:0;background:var(--ntw-amber)}
.ntw-hero-thumb.is-active i{animation:ntw-progress 6000ms linear forwards}
.ntw-hero__pause{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(14,42,33,.5);color:var(--ntw-white);cursor:pointer}
.ntw-hero__pause .ntw-icon{grid-area:1/1;width:17px;height:17px}
.ntw-hero__pause-icon--play{display:none}
.ntw-hero__pause[data-state="paused"] .ntw-hero__pause-icon--pause{display:none}
.ntw-hero__pause[data-state="paused"] .ntw-hero__pause-icon--play{display:inline-flex}
@keyframes ntw-progress{to{width:100%}}

/* About */
.ntw-about__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px 80px;align-items:start}
.ntw-about__content{padding-top:42px;max-width:580px}
.ntw-about__gallery{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:end;position:relative;margin-top:10px}
.ntw-about__image{margin:0;overflow:hidden;border-radius:24px;background:var(--ntw-mist)}
.ntw-about__image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.ntw-about__image:hover img{transform:scale(1.035)}
.ntw-about__image--large{height:520px}
.ntw-about__image--small{height:390px}
.ntw-about__badge{position:absolute;left:48%;bottom:34px;transform:translateX(-50%);display:flex;flex-direction:column;padding:18px 22px;border-radius:18px;background:var(--ntw-amber);color:var(--ntw-deep);box-shadow:var(--ntw-shadow)}
.ntw-about__badge strong{font-family:var(--ntw-heading);font-size:1rem}
.ntw-about__badge span{font-size:.72rem;font-weight:700}

/* Services */
.ntw-services{overflow:hidden;background:var(--ntw-mist)}
.ntw-services__rail{width:calc(100% - max(var(--ntw-gutter),calc((100vw - var(--ntw-container)) * .5)));margin-left:max(var(--ntw-gutter),calc((100vw - var(--ntw-container)) * .5))}
.ntw-services__viewport{overflow:hidden;padding-right:var(--ntw-gutter)}
.ntw-services__track{display:flex;gap:20px;touch-action:pan-y pinch-zoom}
.ntw-services__slide{flex:0 0 min(400px,calc((100vw - (var(--ntw-gutter) * 2) - 40px)/3));min-width:0}
.ntw-service-card{height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ntw-border);border-radius:22px;background:var(--ntw-white);box-shadow:0 10px 28px rgba(14,42,33,.06);transition:transform .3s ease,box-shadow .3s ease}
.ntw-service-card:hover{transform:translateY(-7px);box-shadow:var(--ntw-shadow)}
.ntw-service-card__media{height:245px;overflow:hidden}
.ntw-service-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.ntw-service-card:hover img{transform:scale(1.055)}
.ntw-service-card__body{display:flex;flex-direction:column;flex:1;padding:26px}
.ntw-service-card__body p{font-size:.92rem}
.ntw-service-card__body .ntw-text-link{margin-top:auto}
.ntw-slider-controls{display:flex;gap:10px;flex:0 0 auto}
.ntw-slider-controls button{width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid var(--ntw-border);border-radius:50%;background:var(--ntw-white);color:var(--ntw-green);cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}
.ntw-slider-controls button:hover{background:var(--ntw-green);color:var(--ntw-white);transform:translateY(-2px)}
.ntw-slider-controls .ntw-icon{width:20px;height:20px}

/* Emergency */
.ntw-emergency{padding-block:58px;background:var(--ntw-red);color:var(--ntw-white)}
.ntw-emergency__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.ntw-emergency h2{color:var(--ntw-white);font-size:clamp(2rem,3vw,3.25rem);margin-bottom:10px}
.ntw-emergency p{max-width:760px;margin-bottom:0;color:rgba(255,255,255,.78)}

/* Projects */
.ntw-project-filters{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:36px 0 46px}
.ntw-project-filters button{padding:10px 17px;border:1px solid var(--ntw-border);border-radius:999px;background:var(--ntw-white);color:var(--ntw-slate);font-family:var(--ntw-heading);font-size:.8rem;font-weight:800;cursor:pointer}
.ntw-project-filters button.is-active,.ntw-project-filters button:hover{background:var(--ntw-green);border-color:var(--ntw-green);color:var(--ntw-white)}
.ntw-project-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:18px}
.ntw-project-card{position:relative;overflow:hidden;border-radius:20px;background:var(--ntw-mist)}
.ntw-project-card:nth-child(1),.ntw-project-card:nth-child(4){grid-row:span 2}
.ntw-project-card:nth-child(2),.ntw-project-card:nth-child(5){grid-column:span 2}
.ntw-project-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.ntw-project-card:hover img{transform:scale(1.055)}
.ntw-project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,30,21,.82),transparent 60%)}
.ntw-project-card__content{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:var(--ntw-white)}
.ntw-project-card__content span{display:inline-block;margin-bottom:6px;color:var(--ntw-amber);font-family:var(--ntw-heading);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.ntw-project-card__content h3{margin-bottom:4px;color:var(--ntw-white)}
.ntw-project-card__content p{margin:0;color:rgba(255,255,255,.7);font-size:.78rem}
.ntw-project-card.is-hidden{display:none}

/* Process */
.ntw-process{overflow:hidden;background:var(--ntw-deep);color:var(--ntw-white)}
.ntw-process .ntw-eyebrow{color:var(--ntw-amber)}
.ntw-process h2,.ntw-process h3{color:var(--ntw-white)}
.ntw-process .ntw-section-heading__text{color:rgba(255,255,255,.65)}
.ntw-process__layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.88fr) minmax(0,1fr);gap:32px;align-items:stretch;margin-top:62px}
.ntw-process__connector{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.ntw-process__column{position:relative;z-index:2;display:grid;gap:24px}
.ntw-process__column--right .ntw-process-step{text-align:right}
.ntw-process-step{position:relative;min-height:205px;padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.055);backdrop-filter:blur(4px)}
.ntw-process-step>span{display:block;margin-bottom:30px;color:var(--ntw-amber);font-family:var(--ntw-heading);font-size:1.7rem;font-weight:850}
.ntw-process-step p{margin:0;color:rgba(255,255,255,.62);font-size:.9rem}
.ntw-process__center{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;min-width:0;padding:28px 4px}
.ntw-process__pills{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;max-width:330px}
.ntw-process__pill{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:7px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.09);color:rgba(255,255,255,.86);font-family:var(--ntw-heading);font-size:.66rem;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.ntw-process__pill:nth-child(2n){background:rgba(243,182,63,.14);border-color:rgba(243,182,63,.25);color:var(--ntw-amber)}
.ntw-process__pill:nth-child(3n){transform:translateY(6px)}
.ntw-process__pill:nth-child(4n){transform:translateY(-5px)}
.ntw-process__mark{width:116px;height:116px;display:grid;place-items:center;padding:12px;border-radius:50%;background:var(--ntw-cream);box-shadow:0 0 0 12px rgba(243,182,63,.1),0 20px 40px rgba(0,0,0,.18)}
.ntw-process__mark img{width:100%;height:100%;object-fit:contain}

/* Why choose */
.ntw-why__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.ntw-why__media{position:relative}
.ntw-why__media>img{width:100%;height:650px;object-fit:cover;border-radius:24px}
.ntw-why__floating{position:absolute;right:-28px;bottom:32px;display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:17px;background:var(--ntw-amber);color:var(--ntw-deep);box-shadow:var(--ntw-shadow)}
.ntw-why__floating>.ntw-icon{width:42px;height:42px;padding:10px;border-radius:50%;background:var(--ntw-deep);color:var(--ntw-white)}
.ntw-why__floating span{display:flex;flex-direction:column;line-height:1.15}
.ntw-why__floating small{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.ntw-why__floating strong{margin-top:4px;font-family:var(--ntw-heading)}
.ntw-feature-list{display:grid;gap:26px;margin:38px 0 0;padding:0;list-style:none}
.ntw-feature-list li{display:grid;grid-template-columns:50px 1fr;gap:16px}
.ntw-feature-list li>.ntw-icon{width:48px;height:48px;padding:12px;border:1px solid rgba(23,74,54,.12);border-radius:50%;background:var(--ntw-sage);color:var(--ntw-green)}
.ntw-feature-list h3{margin-bottom:6px;font-size:1.1rem}
.ntw-feature-list p{margin:0;font-size:.9rem}

/* Reviews */
.ntw-reviews{overflow:hidden;background:#EAF2EE}
.ntw-reviews__viewport{overflow:hidden}
.ntw-reviews__track{display:flex;gap:20px}
.ntw-reviews__slide{flex:0 0 calc(33.333% - 14px);min-width:0}
.ntw-review-card{height:100%;padding:34px;border:1px solid rgba(23,74,54,.1);border-radius:22px;background:var(--ntw-white)}
.ntw-review-card>.ntw-icon{width:36px;height:36px;margin-bottom:22px;color:var(--ntw-green)}
.ntw-review-card blockquote{margin:24px 0;color:var(--ntw-charcoal);font-size:1.02rem;line-height:1.6}
.ntw-review-card footer{display:flex;flex-direction:column;padding-top:20px;border-top:1px solid var(--ntw-border)}
.ntw-review-card footer strong{font-family:var(--ntw-heading);font-size:.92rem}
.ntw-review-card footer span{font-size:.75rem;color:var(--ntw-slate)}

/* Areas + map */
.ntw-areas__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.ntw-area-list{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0;padding:0;list-style:none}
.ntw-area-list li{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid var(--ntw-border);border-radius:999px;background:var(--ntw-mist);font-family:var(--ntw-heading);font-size:.8rem;font-weight:750}
.ntw-area-list .ntw-icon{width:15px;height:15px;color:var(--ntw-green)}
.ntw-map-card{overflow:hidden;border-radius:24px;background:var(--ntw-deep);box-shadow:var(--ntw-shadow)}
.ntw-map-card iframe{display:block;width:100%;height:430px;border:0;filter:saturate(.85) contrast(1.03)}
.ntw-map-card__details{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;color:var(--ntw-white)}
.ntw-map-card__details>div{display:flex;align-items:center;gap:12px;max-width:520px}
.ntw-map-card__details .ntw-icon{width:25px;height:25px;color:var(--ntw-amber)}
.ntw-map-card__details span{display:flex;flex-direction:column;line-height:1.3}
.ntw-map-card__details small{color:var(--ntw-amber);font-family:var(--ntw-heading);font-weight:750}
.ntw-map-card__details strong{font-size:.8rem}
.ntw-map-card__details>a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--ntw-heading);font-weight:800;color:var(--ntw-amber)}

/* FAQ */
.ntw-faq{background:var(--ntw-cream)}
.ntw-faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.ntw-faq__intro{position:sticky;top:130px}
.ntw-accordion{height:var(--ntw-faq-reserved-height,auto);overflow:hidden;border-top:1px solid rgba(23,74,54,.18)}
.ntw-accordion__item{border-bottom:1px solid rgba(23,74,54,.18)}
.ntw-accordion__item h3{margin:0}
.ntw-accordion__item button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border:0;background:transparent;text-align:left;font-family:var(--ntw-heading);font-weight:750;cursor:pointer}
.ntw-accordion__item button>.ntw-icon{width:28px;height:28px;padding:6px;border-radius:50%;background:var(--ntw-green);color:var(--ntw-white);transition:transform .3s ease,background .3s ease,color .3s ease}
.ntw-accordion__item.is-open button>.ntw-icon{transform:rotate(45deg);background:var(--ntw-amber);color:var(--ntw-deep)}
.ntw-accordion__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .36s cubic-bezier(.2,.8,.2,1),visibility 0s linear .36s}
.ntw-accordion__item.is-open .ntw-accordion__panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .36s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}
.ntw-accordion__panel-inner{min-height:0;overflow:hidden}
.ntw-accordion__panel-content{padding:0 54px 22px 0}
.ntw-accordion__panel p{margin:0;font-size:.95rem}

/* Contact form */
.ntw-contact{background:var(--ntw-mist)}
.ntw-contact__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:clamp(48px,7vw,100px);align-items:center}
.ntw-contact__content>p{max-width:590px}
.ntw-contact__details{display:grid;gap:14px;margin-top:32px}
.ntw-contact__details>a{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--ntw-border);background:rgba(255,255,255,.72)}
.ntw-contact__details .ntw-icon{width:48px;height:48px;padding:13px;border-radius:50%;background:var(--ntw-sage);color:var(--ntw-green)}
.ntw-contact__details span{display:flex;min-width:0;flex-direction:column;line-height:1.35}
.ntw-contact__details small{margin-bottom:3px;color:var(--ntw-slate);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.ntw-contact__details strong{font-family:var(--ntw-heading);font-size:.92rem;overflow-wrap:anywhere}
.ntw-contact__form-card{position:relative;min-height:680px;overflow:hidden}
.ntw-contact__form{display:block;width:100%;height:680px;border:0;background:var(--ntw-white)}
.ntw-contact__form:not([src]){visibility:hidden}
.ntw-contact__form-loading{position:absolute;z-index:1;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;padding:30px;text-align:center;background:var(--ntw-white);transition:opacity .25s ease,visibility .25s ease}
.ntw-contact__form-loading img{width:72px;height:72px;object-fit:contain}
.ntw-contact__form-loading p{margin:0;font-weight:700}
.ntw-contact__form-card.is-loaded .ntw-contact__form-loading{opacity:0;visibility:hidden}

/* Final CTA */
.ntw-final-cta{position:relative;min-height:520px;display:grid;place-items:center;overflow:hidden;color:var(--ntw-white)}
.ntw-final-cta__image,.ntw-final-cta__overlay{position:absolute;inset:0;width:100%;height:100%}
.ntw-final-cta__image{object-fit:cover}
.ntw-final-cta__overlay{background:linear-gradient(90deg,rgba(8,39,27,.93),rgba(8,39,27,.55) 62%,rgba(8,39,27,.28))}
.ntw-final-cta__content{position:relative;z-index:2}
.ntw-final-cta__content>p{max-width:620px;color:rgba(255,255,255,.75)}
.ntw-final-cta h2{max-width:820px;color:var(--ntw-white)}

/* Footer */
.ntw-footer{padding-top:78px;background:#EAF2EE}
.ntw-footer__grid{display:grid;grid-template-columns:1.4fr .7fr 1fr .8fr;gap:55px;padding-bottom:60px}
.ntw-brand--footer{color:var(--ntw-deep);margin-bottom:22px}
.ntw-footer__brand p{max-width:420px;font-size:.9rem}
.ntw-footer__title{font-size:1rem;letter-spacing:0;margin-bottom:22px}
.ntw-footer__links,.ntw-footer__contact{display:grid;gap:10px;margin:0;padding:0;list-style:none;font-size:.86rem}
.ntw-footer__links a:hover,.ntw-footer__bottom a:hover{color:var(--ntw-green)}
.ntw-footer__contact li{display:flex;align-items:flex-start;gap:9px}
.ntw-footer__contact .ntw-icon{width:17px;height:17px;margin-top:4px;color:var(--ntw-green)}
.ntw-hours{display:grid;gap:12px;margin:0;font-size:.82rem}
.ntw-hours>div{display:flex;justify-content:space-between;gap:16px}
.ntw-hours dt{font-weight:700}.ntw-hours dd{margin:0;color:var(--ntw-slate);text-align:right}
.ntw-footer__bottom{display:flex;justify-content:space-between;gap:30px;padding-block:24px;border-top:1px solid rgba(23,74,54,.15);font-size:.75rem}
.ntw-footer__bottom p{margin:0;font-size:inherit}
.ntw-footer__bottom>div{display:flex;gap:22px}
.ntw-back-to-top{position:fixed;z-index:900;right:96px;bottom:22px;width:48px;height:48px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--ntw-amber);color:var(--ntw-deep);box-shadow:var(--ntw-shadow);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px) rotate(-90deg);transition:.25s ease}
.ntw-back-to-top.is-visible{opacity:1;visibility:visible;transform:rotate(-90deg)}
.ntw-back-to-top .ntw-icon{width:20px;height:20px}
.ntw-default-page{padding-top:160px;padding-bottom:100px;min-height:70vh}

/* Motion enhancement */
[data-motion-group]>*{will-change:transform,opacity}
.motion-ready [data-motion-group]>*{opacity:0;transform:translateY(26px)}
.motion-ready [data-motion-group].is-visible>*{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.motion-ready [data-motion-group].is-visible>*:nth-child(2){transition-delay:.09s}
.motion-ready [data-motion-group].is-visible>*:nth-child(3){transition-delay:.18s}

@media (min-width:901px) and (max-height:900px){
  .ntw-header{top:14px}.admin-bar .ntw-header{top:46px}.ntw-header__inner{min-height:68px}
  .ntw-hero{min-height:680px}.ntw-hero__content{padding-top:104px;padding-bottom:18px}.ntw-hero__copy{padding-bottom:14px}
  .ntw-rating{margin-bottom:11px}.ntw-hero__label{margin-bottom:7px}.ntw-hero h1{max-width:740px;margin-bottom:14px;font-size:clamp(3.2rem,4.55vw,4.9rem)}.ntw-hero__description{margin-bottom:14px;font-size:.98rem}
  .ntw-button{min-height:48px;padding:12px 20px}.ntw-hero__bottom{min-height:68px}.ntw-hero-thumb{width:92px;height:64px}.ntw-hero-thumb.is-active{width:128px}.ntw-hero__pause{width:38px;height:38px}
  .ntw-trust-badge>.ntw-icon{width:33px;height:33px}.ntw-trust-badge small{display:none}
}

@media (min-width:901px) and (max-height:760px){
  .ntw-hero{min-height:640px}.ntw-hero__content{padding-top:94px;padding-bottom:14px}.ntw-rating{margin-bottom:8px}.ntw-hero h1{font-size:clamp(2.9rem,4.1vw,4.25rem)}.ntw-hero__description{max-width:540px;line-height:1.45}.ntw-hero__bottom{min-height:60px}.ntw-hero-thumb{height:58px}.ntw-trust-badge span small{display:none}
}

@media (max-width:1120px){
  .ntw-brand__logo-wrap{width:170px;height:48px}.ntw-brand__logo--header{height:48px;max-width:170px}.ntw-header__phone span{display:none}.ntw-header__phone>.ntw-icon{width:44px;height:44px}
  .ntw-services__slide{flex-basis:min(400px,calc((100vw - (var(--ntw-gutter) * 2) - 20px)/2))}.ntw-reviews__slide{flex-basis:calc(50% - 10px)}
  .ntw-project-grid{grid-template-columns:repeat(3,1fr)}
  .ntw-project-card:nth-child(2),.ntw-project-card:nth-child(5){grid-column:span 1}
  .ntw-footer__grid{grid-template-columns:1.3fr 1fr 1fr}.ntw-footer__grid>div:last-child{grid-column:2/4}
}

@media (max-width:900px){
  :root{--ntw-section:clamp(70px,10vw,105px)}
  .admin-bar .ntw-header{top:62px}
  .ntw-header{top:12px}.ntw-header__inner{grid-template-columns:minmax(0,1fr) auto auto;border-radius:25px}
  .ntw-brand__logo-wrap{width:165px;height:46px}.ntw-brand__logo--header{height:46px;max-width:165px}
  .ntw-menu-toggle{display:block}.ntw-navigation{position:absolute;z-index:20;inset-inline:0;top:calc(100% + 10px);display:none;width:100%;max-height:calc(100dvh - 118px);overflow-y:auto;padding:20px 24px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(14,42,33,.98);box-shadow:0 22px 55px rgba(0,0,0,.3);backdrop-filter:blur(18px)}
  .admin-bar .ntw-navigation{max-height:calc(100dvh - 152px)}.ntw-navigation.is-open{display:block}.ntw-navigation .ntw-menu a{color:rgba(255,255,255,.9)}.ntw-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0 24px}.ntw-menu li{min-width:0}.ntw-menu a{display:block;width:100%;padding:14px 10px;font-size:.96rem;border-bottom:1px solid rgba(255,255,255,.1)}
  .ntw-menu-toggle[aria-expanded="true"] .ntw-menu-toggle__open{display:none}.ntw-menu-toggle[aria-expanded="true"] .ntw-menu-toggle__close{display:block}
  .ntw-hero{height:auto;min-height:820px}.ntw-hero__content{min-height:820px;display:flex;flex-direction:column;padding-top:150px}.ntw-hero__copy{margin-block:auto}.ntw-hero__bottom{align-items:flex-start;flex-direction:column}.ntw-hero__thumbs{width:100%;max-width:none;overflow-x:auto;padding-bottom:4px}.ntw-hero-thumb{flex:0 0 92px}.ntw-hero-thumb.is-active{width:130px;flex-basis:130px}
  .ntw-about__grid,.ntw-why__grid,.ntw-areas__grid,.ntw-faq__grid,.ntw-contact__grid{grid-template-columns:1fr;gap:45px}.ntw-about__content{padding-top:0}.ntw-about__gallery{grid-template-columns:1fr 1fr}.ntw-about__badge{left:50%}
  .ntw-why__media{order:2}.ntw-why__floating{right:20px}.ntw-faq__intro{position:static}
  .ntw-process__layout{grid-template-columns:1fr 250px 1fr;gap:20px}.ntw-process__pills{gap:7px}.ntw-process__pill{padding-inline:9px;font-size:.6rem}
  .ntw-project-grid{grid-template-columns:repeat(2,1fr)}
  .ntw-footer__grid{grid-template-columns:1fr 1fr}.ntw-footer__grid>div:last-child{grid-column:auto}
}

@media (max-width:640px){
  body{font-size:16px}.ntw-header__inner{min-height:62px;padding:8px 10px}.ntw-brand__logo-wrap{width:145px;height:42px}.ntw-brand__logo--header{height:42px;max-width:145px}.ntw-brand__logo--footer{height:74px;max-width:220px}.ntw-header__phone{display:none}
  .ntw-navigation{inset-inline:0;top:calc(100% + 8px);width:100%;max-height:calc(100dvh - 92px);padding:14px 18px;border-radius:20px}.admin-bar .ntw-navigation{max-height:calc(100dvh - 126px)}.ntw-menu{grid-template-columns:1fr}.ntw-menu a{padding:13px 8px;font-size:.94rem}.ntw-hero{min-height:850px}.ntw-hero__content{min-height:850px;padding-top:132px}.ntw-hero__copy{margin-top:50px}.ntw-hero__bottom{margin-top:40px}.ntw-hero__trust{gap:14px}.ntw-trust-badge small{display:none}.ntw-button-row{align-items:stretch}.ntw-button-row .ntw-button{width:100%}
  .ntw-section-topline{align-items:flex-start;flex-direction:column;margin-bottom:32px}.ntw-slider-controls{align-self:flex-end}
  .ntw-about__gallery{grid-template-columns:1fr;gap:14px}.ntw-about__image--large{height:420px}.ntw-about__image--small{height:270px}.ntw-about__badge{position:static;transform:none;width:fit-content;margin:-50px 20px 0;z-index:2}
  .ntw-services__rail{width:calc(100% - var(--ntw-gutter));margin-left:var(--ntw-gutter)}.ntw-services__viewport{padding-right:var(--ntw-gutter)}.ntw-services__slide{flex-basis:88%}.ntw-reviews__slide{flex-basis:88%}.ntw-service-card__media{height:220px}
  .ntw-emergency__inner{align-items:flex-start;flex-direction:column}.ntw-emergency .ntw-button{width:100%}
  .ntw-project-grid{grid-template-columns:1fr;grid-auto-rows:330px}.ntw-project-card:nth-child(1),.ntw-project-card:nth-child(4){grid-row:span 1}
  .ntw-process__layout{grid-template-columns:1fr;gap:18px;margin-top:42px}.ntw-process__connector{display:none}.ntw-process__column{gap:18px}.ntw-process__column--right .ntw-process-step{text-align:left}.ntw-process__center{grid-row:2;padding:22px 0}.ntw-process__pills{max-width:100%;gap:8px}.ntw-process__pill{font-size:.66rem}.ntw-process__mark{width:100px;height:100px}.ntw-process-step{min-height:0}
  .ntw-why__media>img{height:480px}.ntw-why__floating{left:18px;right:18px;bottom:18px}.ntw-feature-list li{grid-template-columns:42px 1fr}.ntw-feature-list li>.ntw-icon{width:42px;height:42px}
  .ntw-map-card iframe{height:340px}.ntw-map-card__details{align-items:flex-start;flex-direction:column}.ntw-map-card__details>a{padding-left:37px}
  .ntw-contact__form-card{min-height:650px}.ntw-contact__form{height:650px}.ntw-contact__details>a{grid-template-columns:42px minmax(0,1fr);padding:14px}.ntw-contact__details .ntw-icon{width:42px;height:42px;padding:11px}
  .ntw-back-to-top{right:88px;bottom:16px;width:46px;height:46px}
  .ntw-footer__grid{grid-template-columns:1fr;gap:38px}.ntw-footer__bottom{flex-direction:column}.ntw-footer__bottom>div{flex-wrap:wrap}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-ready [data-motion-group]>*{opacity:1;transform:none}
}
